Задача о бегунах

Напишите программу для определения победителей спринтерского забега:
  1. С клавиатуры считывается натуральное число N - количество участников забега.
  2. Далее следуют N строк с информацией о результатах забега в формате: <фамилия> <время>
  3. Программа выводит на экран трех победителей в формате: <место> <фамилия> <время>

Советы

  1. Для ввода-вывода используйте Scanner и System.out.println().
  2. Для хранения результатов забегов Вам, скорее всего, понадобятся массивы (2шт). Хотя это не значит, что их обязательно надо здесь использовать.
  3. Для поиска трех победителей хорошо подойдет алгоритм сортировки выбором (смотреть на Википедии).
  4. Трехкратный проход по массиву с целью поиска максимального элемента - подойдет даже лучше.
  5. Лучший способ понять, как должна работать программа, и как она будет оцениваться - посмотреть на две таблицы ниже: "Примеры" (входных и выходных данных) и "Оценивание" (последнее особенно важно).

Технические подробности

  1. Гарантируется, что N>=3 и все времена различны.
  2. Вообще, в этом и последующих заданиях входные данные всегда предполагайте корректными. Ломать вашу программу неправильным форматом ввода в ближайшее время никто не будет (если иного не указано в задании).
  3. Ваша программа не должна выводить на экран никакой другой информации, кроме собственно списка победителей (так как это сделает невозможной автоматическое тестирование).
  4. Вывод тоже осуществляется ровно в том формате, который описан выше: целое число, фамилия, число с плавающей точкой (через пробел).
  5. Для хранения чисел (результаты забегов) используйте тип double.
  6. Разделитель целой и дробной части (точки или запятая) зависит от настроек системы. У Вас в Windows, скорее всего, настроена запятая, на тестирующем сервере - точка. Это значит, что программа, которая у Вас на ПК корректно работает с запятой, на сервере будет корректно работать с точкой!

Примеры

Вход Выход
3
Horstmann 9.4
Schildt 10.1
Eckel 12.0
1 Horstmann 9.4
2 Schildt 10.1
3 Eckel 12.0
3
Eckel 12.1
Horstmann 9.5
Schildt 10.2
1 Horstmann 9.5
2 Schildt 10.2
3 Eckel 12.1
11
Ivanov 12.6
Petrov 11.1
Sidorov 13.0
Smith 9.5
Doe 10.2
Salo 14.3
Nagasaki 18.2
Booch 11.6
Knuth 9.8
Pylypets 10.0
Neumann 14
1 Smith 9.5
2 Knuth 9.8
3 Pylypets 10.0

Cкачать Runners_Tests.java
Comments