project_python.3.2/lesson.18.py

74 lines
3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

''' ****** Задание 18 из 20 *********
* На пиратской карте отмечено множество точек, в которых, по слухам, зарыты сокровища. Каждая точка задана координатами
(xi,yi)в километрах.
Капитан Крюк хочет собрать как можно больше кладов за один маршрут. Однако есть ограничение: между двумя соседними точками маршрута можно перемещаться только в том случае, если координаты этих точек различаются только последней цифрой — как по оси
x, так и по оси y.
Например:
Из точки (15, 10) можно попасть в (18, 16) — координаты отличаются только последней цифрой (5 → 8 и 0 → 6).
Но из (14, 68) в (19, 71) попасть нельзя, потому что десятки и сотни отличаются.
Также нельзя попасть из (5, 12) в (13, 14), так как 5 и 13 различаются не только в последнем разряде.
Напишите программу, которая по списку координат точек определяет, какое максимальное количество точек может входить в маршрут Капитана Крюка, построенный по описанному правилу.
Формат ввода
В первой строке указано число
N (1≤N≤10 в пятой степени)
— количество точек, отмеченных на карте сокровищ.
В следующих N строках содержатся пары координат:
xi и yi — координаты
i-ой точки.
Координаты — целые числа не меньше нуля и не больше
1
0
9
10
9
.
Гарантируется, что совпадающих точек в списке нет.
Формат вывода
Выведите одно число — максимальное количество точек, которое Капитан Крюк сможет посетить по маршруту, построенному по описанным правилам.
Подсказка
Преобразуйте все координаты, разделив их на 10 без остатка. Тогда количество одинаковых точек и будет ответом.
Пример 1
Ввод
9
10 18
17 15
25 21
0 21
1 16
25 29
24 24
8 26
10 20
Вывод
3
'''
if __name__ == "__main__":
d = {}
for _ in range(int(input())):
x = input().split()
key = f'{x[0][:-1]}-{x[1][:-1]}'
if key not in d:
d[key] = 1
else:
d[key] += 1
print(max(d.values()))