3031
Комментарий:
|
← Версия 4 от 2021-11-22 15:55:05 ⇥
2691
|
Удаления помечены так. | Добавления помечены так. |
Строка 24: | Строка 24: |
Спойлер: /* В действительности догадываться тут не о чем. При вводе split()-тим строку. Кортеж из первых трёх элементов, преобразованных к float, используем как индекс словаря, а храним в словаре имя галактики — четвёртый элемент. Затем тупо перебираем все пары во вложенных циклах. Стоит слегка оптимизировать: внешний цикл — по всем индексам, кроме последнего, а внутренний — по всем индексам, большим первого; так, если у нас была пара (A, B), не появится ещё и пара (B, A). Замеряем расстояние, проверяем и запоминаем максимум и имена галактик, на которых он был достигнут. Потом выводим эти имена. */ | Спойлер: /* В действительности догадываться тут не о чем. При вводе split()-тим строку. Кортеж из первых трёх элементов, преобразованных к float, используем как индекс словаря, а храним в словаре имя галактики — четвёртый элемент. Затем тупо перебираем все пары во вложенных циклах. Замеряем расстояние, проверяем и запоминаем максимум и имена галактик, на которых он был достигнут. Потом выводим эти имена. */ |
Ввести построчно четвёрки вида «число число число слово», где первые три числа — это координаты галактики по имени «слово» (некоторые галактики могут называться одинаково, но координаты у всех разные). Последняя строка ввода не содержит пробелов и не учитывается. Вывести в алфавитном порядке имена любых двух наиболее удалённых друг от друга галактик. Считается, что одинаковых расстояний в списке нет.
35.764 -797.636 -770.320 almost 88.213 -61.688 778.457 gene -322.270 -248.555 -812.730 trend 721.262 630.355 968.287 dow -895.519 -970.173 97.282 non -561.036 -350.840 -723.149 disco -151.546 -900.962 -658.862 bidder -716.197 478.576 -695.843 hawaii -744.664 -173.034 -11.211 sad -999.968 990.467 650.551 erik .
- Подсказка: очевидно, ключом словаря должны быть координаты, потому что они все разные, а имена могут быть одинаковыми
- У этой задачи есть довольно эффективное решение средствами самого Python, но в нашем случае достаточно ручного решения, в котором просто перебираются все возможные пары звёзд (вложенные циклы), и ищется наиболее далёкая пара.
Чтобы вывести что-то в порядке возрастания, надо это что-то сложить в список и отсортировать (например, с помощью .sort())
almost erik
Спойлер: