fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Meeting
  6. {
  7. public static void main (String[] args) throws java.lang.Exception
  8. {
  9. double place, ss, time, t1, t2, t3, tt; //Описание переменных для хранения входных данных.//
  10. Scanner in = new Scanner(System.in);
  11. //Чтение из стандартного потока ввода.//
  12. double v0 = in.nextDouble();
  13. double v1 = in.nextDouble();
  14. double v3 = in.nextDouble();
  15. double s1 = in.nextDouble();
  16. double s2 = in.nextDouble();
  17. double s3 = in.nextDouble();
  18. if ((v0 > 0) && (v1 > 0) && (v3 > 0) && (s1 >= 0) && (s2 >= 0) && (s3 >= 0)) //Критерии ввода данных.//
  19. {
  20. s1 *= 0.001; v1 *= 0.001; s2 *= 0.001; s3 *= 0.001; //Перевод единиц в систему СИ. (м --> км, м/час --> км/час) //
  21. ss = s1 + s2 + s3; //Найдем весь путь//
  22. t1 = s1 / v1; t2 = s2 / v0; t3 = s3 / v3; //Найдем время за которое второй путник преодолевает каждую часть пути//
  23. if ((ss - t1 * v0 - s1) <= 0) //Условие встречи двух путников на первом промежутке пути//
  24. {
  25. time = ss / (v0 + v1); //Нахождение времени встречи//
  26. place = time * v0; //Нахождение места встречи//
  27. System.out.printf("Путники встретились на расстоянии " + place + " км от пункта В через " + time + " часов после старта"); //Вывод конечного результата.//
  28. }
  29. else
  30. {
  31. if ((ss - (t2 + t1) * v0 - s1 - s2) <= 0) //Условие встречи двух путников на втором промежутке пути//
  32. {
  33. time = (ss - s1 - (v0 * t1)) / (v0 + v0); //Нахождение времени встречи//
  34. place = (t1 + time) * v0; //Нахождение места встречи//
  35. tt = time + t1;
  36. System.out.printf("Путники встретились на расстоянии " + place + " км от пункта В через " + tt + " часов после старта") ; //Вывод конечного результата.//
  37. }
  38. else
  39. {
  40. if ((ss - (t2 + t1 + t3) * v0 - s1 - s2 - s3) <= 0) //Условие встречи двух путников на третем промежутке пути//
  41. {
  42. time = (ss - s1 - s2 - (v0 * (t2 + t1))) / (v0 + v3); //Нахождение времени встречи//
  43. place = (t1 + t2 + time) * v0; //Нахождение места встречи//
  44. tt = time + t1 + t2;
  45. System.out.printf("Путники встретились на расстоянии " + place + " км от пункта A через " + tt + " часов после старта"); //Вывод конечного результата.//
  46. }
  47. }
  48. }
  49. }
  50. else
  51. {
  52. System.out.printf("Неправильно введены данные"); //Вывод оповещения о неправильном вводе данных (при несоответствии начальным критериям).
  53. }
  54. }
  55. }
  56.  
Success #stdin #stdout 0.15s 321344KB
stdin
10 5000 60 10000 60000 30000
stdout
Путники встретились на расстоянии 55.0 км от пункта В через 5.5 часов после старта