Advertisement
PepperoniPapaya

shortest distance

Dec 8th, 2015
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.79 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package javaapplication5;
  7.  
  8. import java.io.BufferedReader;
  9. import java.io.IOException;
  10. import java.io.InputStreamReader;
  11. import java.util.ArrayList;
  12. import java.util.Collections;
  13. import java.util.LinkedHashSet;
  14. import java.util.List;
  15. import java.util.Set;
  16.  
  17. /**
  18.  *
  19.  * @author HoangLong
  20.  */
  21. public class JavaApplication5 {
  22.  
  23.     /**
  24.      * @param args the command line arguments
  25.      */
  26.     public static void main(String[] args) throws IOException {
  27.         // 自分の得意な言語で
  28.         // Let's チャレンジ!!
  29.         Set<Integer> XSet = new LinkedHashSet<>();
  30.         Set<Integer> YSet = new LinkedHashSet<>();;
  31.         String[] strArray;
  32.         int[] intArray;
  33.         String line;
  34.         int i;
  35.  
  36.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  37.         line = br.readLine();
  38.  
  39.         strArray = line.split(" ");
  40.         intArray = new int[strArray.length];
  41.         for (i = 0; i < strArray.length; i++) {
  42.             intArray[i] = Integer.parseInt(strArray[i]);
  43.         }
  44.        
  45.         int x = intArray[0];
  46.         int y = intArray[1];
  47.         int z = intArray[2];
  48.         int n = intArray[3];
  49.  
  50.         XSet.add(0);
  51.         XSet.add(x);
  52.         YSet.add(0);
  53.         YSet.add(y);
  54.        
  55.        
  56.         for (i = 0; i < n; i++){          
  57.             line = br.readLine();
  58.             strArray = line.split(" ");
  59.             intArray = new int[strArray.length];
  60.             for (int j = 0; j < strArray.length; j++) {
  61.                 intArray[j] = Integer.parseInt(strArray[j]);
  62.             }
  63.            
  64.             int direction = intArray[0];
  65.             int value = intArray[1];
  66.            
  67.             if (direction == 0) {
  68.                 XSet.add(value);
  69.             } else {
  70.                 YSet.add(value);
  71.             }
  72.            
  73.         }
  74.        
  75.         List<Integer> XList = new ArrayList<Integer>(XSet);
  76.         List<Integer> YList = new ArrayList<Integer>(YSet);
  77.  
  78.         Collections.sort(XList);
  79.         Collections.sort(YList);
  80.        
  81.  
  82.         int resultX = x;
  83.         int resultY = y;
  84.  
  85.         for (i = 0; i < XList.size() - 1; i++) {
  86.             int distance = XList.get(i + 1) - XList.get(i);
  87.             if (distance < resultX) {
  88.                 resultX = distance;
  89.             }
  90.         }
  91.  
  92.         for (i = 0; i < YList.size() - 1; i++) {
  93.             int distance = YList.get(i + 1) - YList.get(i);
  94.             if (distance < resultY) {
  95.                 resultY = distance;
  96.             }
  97.         }
  98.  
  99.         int result = resultX * resultY * z;
  100.         System.out.println(result);
  101.     }
  102.  
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement