Python

Товарищи. помогите пожалуйста с задачей по информатике

Здравствуйте, Руслан.
 # Ввожу строку в программу 
s = input()
# Преобразую её в список строк
s = s.split()
# Преобразую список строк в список чисел
s = list(map(int, s))

# Проверяю список "s" - если в нём есть повторяющиеся числа, то выдаю False
# Иначе - выдаю True
def checking(s):
for i in range(len(s)-1):
for k in range(i+1, len(s)):
if s[i] == s[k]:
return False
return True

# По ряду "row" в списке строк "s" генерирую новые строки. Если в ряде есть
# повторяющиеся числа, то беру одно из них и раздваиваю на 2 числа. Причём,
# перебираю все варианты раздвоения.
def generate_variants(s, row):
# Записываю в "r" ряд, с которым хочу работать
r = s[row]
# В этих двух циклах ищу повторяющиеся числа в ряде "r"
for i in range(len(r)-1):
for k in range(i+1, len(r)):
if r[i] == r[k]:
# Нашёл повторяющиеся числа.
# В цикле раздваиваю r[i] на 2 числа. Причём, делаю это для
# всех возможных вариантов раздваивания
for n in range(1, r[i] // 2 + 1):
# Копирую ряд "r" в lst
lst = r.copy()
# Изменяю текущее число и добавляю новое число к ряду
lst[i] = n
lst.append(r[i] - n)
# Добавляю ряд в список строк
s.append(lst)

# В "variants" я записываю все возможные варианты разложения конфет на кучки
variants = [s]
# current_row - это номер текущего варианта разложения конфет на кучки
current_row = 0
# Проверяю, что в текущем разложении все кучки разные
successfully = checking(variants[current_row])
# Запускаю цикл, которые работает, пока есть одинаковые кучки
while not successfully:
# Для текущего ряда генерирую новые ряды - варианты разложения на кучки
generate_variants(variants, current_row)
# Перехожу к следующему ряду
current_row += 1
# Если проанализировал все варианты разложения конфет на кучки, то
# выхожу из цикла
if current_row == len(variants):
break
# Проверяю, что текущий вариант разложения конфет мне подходит, то есть,
# что в нём все кучки разные
successfully = checking(variants[current_row])

# В зависимости от результата проверки вывожу ответ на экран
if successfully:
print("YES")
else:
print("NO")
ВВ
Виктор Воронов
11 615
Лучший ответ
 # Прочитать количество конфет в куче 
kucha1, kucha2, kucha3, kucha4 = map(int, input().split())

# Проверяем, есть ли во всех кучах разное количество конфет
if kucha1 != kucha2 and kucha1 != kucha3 and kucha1 != kucha4 and kucha2 != kucha3 and kucha2 != kucha4 and kucha3 != kucha4:
print("YES")
else:
print("NO")