Advertisement
ilovepants

Untitled

Dec 18th, 2014
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. import java.io.InputStreamReader;
  2. import java.io.BufferedReader;
  3.  
  4. public class Map {
  5. private static int to24 (int hour, boolean pm) {
  6. if (pm) {
  7. if (hour != 12) {
  8. return hour + 12;
  9. } else {
  10. return hour;
  11. }
  12. } else {
  13. if (hour == 12) {
  14. return 24;
  15. } else {
  16. return hour;
  17. }
  18. }
  19. }
  20.  
  21. public static void main (String[] args) throws Throwable {
  22. InputStreamReader stream = new InputStreamReader(System.in);
  23. BufferedReader reader = new BufferedReader(stream);
  24.  
  25. int[] distances = {450, 140, 125, 365, 250, 160, 380, 235, 320, 0};
  26.  
  27. for (int i = 0; i < 5; i++) {
  28. String[] input = reader.readLine().split(", ");
  29.  
  30. int cityA = input[0].charAt(0) - 65;
  31. int cityB = input[1].charAt(0) - 65;
  32.  
  33. int startA = Integer.parseInt(input[2]);
  34. int startB = Integer.parseInt(input[4]);
  35.  
  36. boolean pmA = (input[3].equals("PM")) ? true : false;
  37. boolean pmB = (input[5].equals("PM")) ? true : false;
  38.  
  39. int speedA = Integer.parseInt(input[6]);
  40. int speedB = Integer.parseInt(input[7]);
  41.  
  42. startA = to24(startA, pmA);
  43. startB = to24(startB, pmB);
  44.  
  45. double distance = 0;
  46.  
  47. for (int j = cityA; j < cityB; j++) {
  48. distance += distances[j];
  49. }
  50.  
  51. int difference;
  52.  
  53. if (Math.abs(startA - startB) <= 12) {
  54. difference = startA - startB;
  55. } else {
  56. difference = (Math.abs(startA - startB) - 24);
  57. }
  58.  
  59. double time = 60 * (distance - speedB * (difference)) / (speedA + speedB);
  60.  
  61. int hour = (int) time / 60;
  62. int minutes = (int) Math.round(time % 60);
  63.  
  64. System.out.printf("%d:%02d\n", hour, minutes);
  65. }
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement