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