Сделал 18 задание
This commit is contained in:
parent
cbdf8dd04a
commit
fb8834bb66
73
lesson.18.py
Normal file
73
lesson.18.py
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
''' ****** Задание 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()))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in a new issue