В каждой строке электронной таблицы записаны шесть натуральных чисел.
Назовём ячейку таблицы хорошей, если для неё выполняются следующие условия:
— число в данной ячейке не встречается в других ячейках этой же строки;
— число в данной ячейке ровно
Определите количество строк таблицы, содержащих хотя бы одну хорошую ячейку.
Для начала посчитаем, сколько раз встречается то или иное число в строках, для этого
Теперь найдем, сколько раз число встречается в таблице, в
и скопируем формулу до
Отметим хорошие ячейки, для этого введем
Окончательно находим количество искомых строк. Для этого в
и получаем ответ — 445.
Ответ: 445.
Примечание. Во втором условии задачи сказано, что число в данной ячейке ровно
Приведём решение Юрия Красильникова на языке Python.
lines = [list(map(int,s.split(';'))) for s in open('09.csv')]
nums = [n for line in lines for n in line]
goodlines = [line for line in lines if any([line.count(n)==1 and nums.count(n)==46 for n in line])]
print(len(goodlines))
Приведём другое решение Юрия Красильникова на языке Python.
lines = [list(map(int,s.split(';'))) for s in open('09.csv')]
d={}
for line in lines:
for n in line:
d[n]=d.get(n,0)+1
goodlines = [line for line in lines if any([line.count(n)==1 and d[n]==46 for n in line])]
print(len(goodlines))
Примечание. Файл следует сохранить в формате csv с разделителями ';'

