Источник: https://kpolyakov.spb.ru/
В файле электронной таблицы 9-228.xls в каждой строке записаны шесть натуральных чисел. Назовём ячейку таблицы интересной, если выполняются следующие условия:
– число в данной ячейке больше не встречается в данной строке;
– число в данной ячейке встречается в данном столбце, включая данную ячейку, менее 170 раз.
Определите количество строк в таблице, содержащих более четырёх интересных ячеек. В ответе запишите только число.
f = open(’9-228.csv’)
a = []
a_row = [[] for i in range(6)] # Список списков для каждого из 6 столбцов
for i in f:
t = list(map(int, i.split(’;’)))
a.append(t) # Добавляем строку в общий список
for j in range(6):
a_row[j].append(t[j])
c = 0 # Инициализируем счетчик строк с более чем 4 интересными ячейками
for i in a: # Проходим по каждой строке в таблице
# Список с сохранением числа, если оно встречается только один раз в строке,
t = [i[j] if i.count(i[j]) == 1 else 0 for j in range(6)] # иначе 0
# Список с количеством вхождений каждого элемента из t в соотв. столбце
t1 = [a_row[j].count(t[j]) for j in range(6)]
# Фильтруем только те значения, которые встречаются менее 170 раз
t_res = [j for j in t1 if j in range(1, 170)]
if len(t_res) > 4: # Проверяем, есть ли более 4 интересных ячеек в строке
c += 1 # Увеличиваем счетчик, если условие выполнено
print(c)
Ответ: 17