Форум » Обработка символьных строк » № 24 задача 144(Джобс) » Ответить

№ 24 задача 144(Джобс)

IdeaIdeev: [pre2]#24 144 file=open('24-j6.txt','r') a=list() sp=file.readlines() for i in sp: a.append(i) a=list(a[0]) c=0 lll=list() l_pr=str() ans=list() for i in range(0, len(a)-1): if c>0: if a<a[i+1]: c+=1 l_pr+=str(a[i+1]) if a>=a[i+1]: if c>4: ans.append(l_pr) l_pr=str() c=0 if c==0: if a<a[i+1]: c+=2 l_pr+=str(a) l_pr+=str(a[i+1]) rl=list() for i in range(0, len(ans)-1): for j in range(i+1, len(ans)-1): if len(ans)<len(ans[j]) and ans in ans[j]: rl.append(ans) if len(ans)>len(ans[j]) and ans[j] in ans: rl.append(ans[j]) for i in ans: if i in rl: ans.remove(i) otv=list() for i in ans: if len(i)==5: otv.append(i) print(len(otv))[/pre2] Добрый день. Что в этой программе не так(правильный ответ 2087, у меня 1310), и почему если убрать предпоследний for, то получается правильный ответ? Заранее благодарю за помощь

Ответов - 3

EugeneJobs: Не ленитесь скидывать условие, когда вопрос задаете. И хотя бы коротко, что делает алгоритм. И зачем тот или иной блок нужен.

EugeneJobs: Авторское решение можно посмотреть тут: Разбор на YouTube

IdeaIdeev: Ваш алгоритм короче и понятнее, спасибо за помощь.




полная версия страницы