Advertisement
dfilipeloja

Ponto de Água

Apr 8th, 2015
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.63 KB | None | 0 0
  1.  
  2. import java.util.Scanner;
  3.  
  4.  
  5. public class MooshakExH {
  6.    
  7.     public static void main(String[] args) {
  8.  
  9.         Scanner sc = new Scanner(System.in);
  10.         Veiculo veiculo = new Veiculo(sc.nextLine(), sc.nextInt(), sc.nextInt());
  11.         Distancia distancia;
  12.        
  13.         double menor = 999;
  14.         int indice = 0;
  15.        
  16.         int nPontosDeAgua = sc.nextInt();
  17.  
  18.         Dados[] dados = new Dados[nPontosDeAgua];
  19.  
  20.         for (int i = 0; i < nPontosDeAgua; i++) {
  21.             dados[i] = new Dados(sc.nextInt(), sc.nextInt(), sc.nextInt(), sc.nextLine());
  22.         }
  23.        
  24.         for (int i = 0; i < nPontosDeAgua; i++) {
  25.             if (dados[i].getVeiculosAdquados().contains(veiculo.getTipoVeiculo())) {
  26.                 distancia = new Distancia(veiculo.getCoordenada_x(), veiculo.getCoordenada_y(), dados[i].getCoordenada_x(), dados[i].getCoordenada_y());
  27.                
  28.                 if (distancia.calcular() < menor) {
  29.                     menor = distancia.calcular();
  30.                     indice = i;
  31.                 }
  32.             }
  33.         }
  34.         System.out.println(dados[indice].getIdentificador());
  35.     }
  36. }
  37.  
  38. class Veiculo {
  39.    
  40.     private String tipoVeiculo;
  41.     private int coordenada_x, coordenada_y;
  42.    
  43.     public Veiculo(String tipoVeiculo, int coordenada_x, int coordenada_y) {
  44.         this.tipoVeiculo = tipoVeiculo;
  45.         this.coordenada_x = coordenada_x;
  46.         this.coordenada_y = coordenada_y;
  47.     }
  48.  
  49.     public String getTipoVeiculo() {
  50.         return tipoVeiculo;
  51.     }
  52.  
  53.     public int getCoordenada_x() {
  54.         return coordenada_x;
  55.     }
  56.  
  57.     public int getCoordenada_y() {
  58.         return coordenada_y;
  59.     }
  60. }
  61.  
  62. class Dados {
  63.    
  64.     private int identificador;
  65.     private int coordenada_x;
  66.     private int coordenada_y;
  67.     private String veiculosAdquados;
  68.  
  69.     public Dados(int identificador, int coordenada_x, int coordenada_y, String veiculosAdquados) {
  70.         this.identificador = identificador;
  71.         this.coordenada_x = coordenada_x;
  72.         this.coordenada_y = coordenada_y;
  73.         this.veiculosAdquados = veiculosAdquados;
  74.     }
  75.  
  76.     public int getIdentificador() {
  77.         return identificador;
  78.     }
  79.  
  80.     public int getCoordenada_x() {
  81.         return coordenada_x;
  82.     }
  83.  
  84.     public int getCoordenada_y() {
  85.         return coordenada_y;
  86.     }
  87.  
  88.     public String getVeiculosAdquados() {
  89.         return veiculosAdquados;
  90.     }
  91. }
  92.  
  93. class Distancia {
  94.  
  95.     private int TransporteDistancia_x;
  96.     private int TransporteDistancia_y;
  97.     private int PontoDeAgua_x;
  98.     private int pontoDeAgua_y;
  99.     private double distancia_total;
  100.  
  101.     public Distancia(int TransporteDistancia_x, int TransporteDistancia_y, int PontoDeAgua_x, int pontoDeAgua_y) {
  102.         this.TransporteDistancia_x = TransporteDistancia_x;
  103.         this.TransporteDistancia_y = TransporteDistancia_y;
  104.         this.PontoDeAgua_x = PontoDeAgua_x;
  105.         this.pontoDeAgua_y = pontoDeAgua_y;
  106.     }
  107.  
  108.     public int getTransporteDistancia_x() {
  109.         return TransporteDistancia_x;
  110.     }
  111.  
  112.     public int getTransporteDistancia_y() {
  113.         return TransporteDistancia_y;
  114.     }
  115.  
  116.     public int getPontoDeAgua_x() {
  117.         return PontoDeAgua_x;
  118.     }
  119.  
  120.     public int getPontoDeAgua_y() {
  121.         return pontoDeAgua_y;
  122.     }
  123.    
  124.     public double calcular() {
  125.         double temp;
  126.        
  127.         temp = Math.pow(this.PontoDeAgua_x - this.TransporteDistancia_x, 2)
  128.                +
  129.                Math.pow(this.pontoDeAgua_y - this.TransporteDistancia_y, 2);
  130.        
  131.         distancia_total = Math.sqrt(temp);
  132.        
  133.         return distancia_total;
  134.     }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement