-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfinal_sleight_of_hand.py
74 lines (58 loc) · 2.81 KB
/
final_sleight_of_hand.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
"""
B. Ловкость рук
Игра «Тренажёр для скоростной печати» представляет собой поле из клавиш 4x4.
В нём на каждом раунде появляется конфигурация цифр и точек. На клавише
написана либо точка, либо цифра от 1 до 9.
В момент времени t игрок должен одновременно нажать на все клавиши, на которых
написана цифра t. Гоша и Тимофей могут нажать в один момент времени на k
клавиш каждый. Если в момент времени t нажаты все нужные клавиши, то игроки
получают 1 балл.
Найдите число баллов, которое смогут заработать Гоша и Тимофей, если будут
нажимать на клавиши вдвоём.
Формат ввода
В первой строке дано целое число k (1 ≤ k ≤ 5).
В четырёх следующих строках задан вид тренажёра –— по 4 символа в каждой
строке. Каждый символ —– либо точка, либо цифра от 1 до 9. Символы одной
строки идут подряд и не разделены пробелами.
Формат вывода
Выведите единственное число –— максимальное количество баллов, которое смогут
набрать Гоша и Тимофей.
Пример 1
Ввод
3
1231
2..2
2..2
2..2
Вывод
2
"""
# {
# 'ID':'79792849',
# 'Вердикт': 'OK',
# 'Время':'90ms',
# 'Память':'4.25Mb',
# }
from collections import Counter
from typing import Tuple
def get_scores(number: int, matrix: str) -> int:
"""
Максимальное количество баллов, которое могут набрать Гоша и Тимофей.
- number (:obj:`int`) - клавиши на которые могут нажать
Гоша и Тимофей каждый (1 ≤ k ≤ 5)
- matrix (:obj:`str`) - 4 строки по 4 символа в каждой строке
совмещены в одну.
Каждый символ - либо точка, либо цифра от 1 до 9.
"""
return sum(
all((key.isdigit(), value <= number))
for key, value in Counter(matrix).items()
)
def read_input() -> Tuple[int, str]:
"""Чтение входных данных."""
number = int(input()) * 2
matrix = f"{input()}{input()}{input()}{input()}"
return number, matrix
if __name__ == '__main__':
number, matrix = read_input()
print(get_scores(number, matrix))