Я написал код для этого вопроса, и результат показывает один сбой после запуска тестовых образцов на нем.Я понятия не имею, что не так с моим кодом, когда большинство тестовых примеров может успешно выполняться, кроме одного.Функция программы состоит в том, чтобы определить, сможет ли кассир вернуть изменение клиенту, если у него нет изменений в начале.Цена билета в кино составляет 25 долларов.Например, массив врученных долларовых купюр выглядит следующим образом [25,50], он сможет вернуть изменение, когда массив завершит работу, так как он получит банкноту в 25 долларов в начале, и он сможетверните купюру в 25 долларов второму клиенту, когда он вручит купюру в 50 долларов.Однако, если указан этот массив [25,100], программа напечатает «НЕТ», поскольку у него не будет достаточно изменений для банкноты в 100 долларов.Кстати, это для Python3 ++.
def tickets(people):
co25=0
co50=0
co100=0
collect=0
for i in people:
if(i==25):
co25+=1
elif(i==50):
co50+=1
if(co25>=1):
co25=co25-1
else:
collect+=1
elif(i==100):
co100+=1
if(co25>=1 and co50>=1):
co25=co25-1
co50=co50-1
else:
collect+=1
else:
break;
if(collect>0):
return("NO")
else:
return ("YES")