Форум » Обработка символьных строк » Задача 4140 » Ответить

Задача 4140

mv-alekseenko80: Доброй ночи! По условию: "Цепочка может начинаться и заканчиваться любым символом из XYZ, но внутри цепочки порядок строго определен. Например, для строки ZZZXYZXYZXZZZ длина цепочки равна 8: Z+XYZ+XYZ+X, где цепочка начинается с Z и заканчивается X." В файле максимальная длина последовательности только из XYZ - 66 символов, а количество последовательностей 2, только в одном случае в начале последовательности стоит Y, а в конце Z, в другом Z и X. При подсчете ответа предлагается использовать 2-ю последовательность включая и символ стоящий перед Z, а именно Y YZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZXYZX В условии есть ключевое слово любым (одним), а это означает в начале и в конце последовательности учитывается только ОДИН символ, про то, что в начале и в конце может учитываться неполное сочетание букв речи не идет! Поэтому правильный ответ 68, а если 69, то в условии должно быть указано, что неполное сочетание букв может быть началом и концом последовательности, тогда логично, что в расчет берется 2-й вариант включая YZ

Ответов - 8

Поляков: mv-alekseenko80 пишет: В условии есть ключевое слово любым (одним), а это означает в начале и в конце последовательности учитывается только ОДИН символ, про то, что в начале и в конце может учитываться неполное сочетание букв речи не идет! Этого не было в оригинальном условии.

Lainer: привожу пример по моему мнениб правильного кода для решения данный задачи и хочу ,чтобы поменяли 69 на 68 , ведь при учете всех условий , получается 68 1: [pre2] cnt = [] count = 0 for i in open('2.txt').read().replace('XYZ','1'): if i == '1':count +=1 else: cnt.append(count*3+2) count = 0 print(max(cnt)) [/pre2] 2: [pre2] count = 0 x = open('2.txt').read().replace('XYZ','1') g = '1' while g in x: g+= '1' print(len(g[1:])*3+2) [/pre2]

Поляков: Обе ваши программы выдают неверный результат на строке s = 'YZXYZX'


Lainer: ответ не Z + XYZ + X (5)?

Поляков: Lainer пишет: ответ не Z + XYZ + X (5)? Ответ YZXYZX, длина 6.

Lainer: тоесть в вашем задании подразумевается ,что в ответ идёт длина строки , которая замыкается и создаёт кольцо из сочетаний XYZ ,просто когда читаешь условие ответа Z+XYZ+XYZ+X не ,делаешь по нему , тогда извиняюсь за отобранное время

Поляков: Представьте себе бесконечную цепочку троек XYZ. Из нее может быть вырезана любая часть.

Джошуа: Сразу вспомнил как Эдиссон заказал кажется Эйлеру сказать какой минимальный объем у лампы. Дал для изучения три лампочки. Эйлер 10 дней высчитывал объем ,чтобы лампочка горела и не перегорала. Пришел в /Эдиссону ,тот мельком взглянул на расчеты , спросил почему так долго , потом взял три колбы ламп.. налил воды в них , слил в мензурку и показал лампу с минимальным объемом. Говорят Эйлер не разговаривал с ним потом до конца жизни. (увы не помню кто именно был... Эйлер или нет). Так и в этой задаче!



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