Здравствуйте.
(№ 5523) (А. Рогов) В файле электронной таблицы 9-170.xls в каждой строке содержатся шесть неотрицательных целых чисел. Определите количество строк таблицы, для которых выполнены оба условия:
– в строке хотя бы одно число повторяется дважды (ровно 2 раза);
– каждое из повторяющихся дважды (ровно 2 раза) чисел превышает каждое неповторяющееся.
Вот первая программа
f = open("9-170.txt")
cnt = 0
for a in f:
----a = sorted(int(i) for i in a.split())
----if any(a.count(i) == 2 for i in a) and not any(a.count(i) == 4 for i in a) :
--------g = sorted(set(x for x in a if a.count(x) == 2))
--------t = sorted(set(x for x in a if a.count(x) == 1))
--------if all(g1 > t1 for g1 in g for t1 in t):
------------cnt += 1
print(cnt)
Выдаёт 664, но правильный 665.
Однако когда переделываю программу так,
f = open("9-170.txt")
cnt = 0
for a in f:
----a = sorted(int(i) for i in a.split())
----if any(a.count(i) == 2 for i in a) :
--------g = sorted(set(x for x in a if a.count(x) == 2))
--------t = sorted(set(x for x in a if a.count(x) == 1))
--------if all(g1 > t1 for g1 in g for t1 in t):
------------if any(a.count(i) == 4 for i in a) :
----------------print(a)
----------------print(g, t)
----------------cnt += 1
print(cnt)
То ответ верный, и выводит:
[1, 1, 1, 1, 3, 3]
[3] []
665
получается он проверяет и засчитывает, потому что там там нет уникальный.
хотя в условии сказано
цитата: |
каждое из повторяющихся дважды (ровно 2 раза) чисел превышает каждое неповторяющееся |
|
Помогите понять это ошибка в программе или в том что я не правильно понял условие, то есть в условии имелось в виду «превышает каждое неповторяющееся дважды (ровно 2 раза)»