Автор | Сообщение |
|
Отправлено: 10.04.22 22:49. Заголовок: Задача 24.198.5041
{24.198.5041 Текстовый файл 24-197.txt содержит строку из заглавных латинских букв X, Y и Z, всего не более чем из 10^6 символов. Определите максимальное количество идущих подряд троек символов X*Y или Z*Y, где * обозначает один любой символ.} ## var s := ReadAllText('24-197.txt'); s.MatchValues('([XZ].Y){1,}').Select(t -> t.Length div 3).Max.Print; У меня ответ получается 19?
|
|
|
Ответов - 5
[только новые]
|
|
|
Отправлено: 11.04.22 01:01. Заголовок: Хотя в ответах 20. Как проверить?
|
|
|
|
| Администратор
|
Сообщение: 3450
|
|
Отправлено: 11.04.22 20:11. Заголовок: Проверьте, в файле е..
Проверьте, в файле есть вот такая строка: ZYYZXYZXYZXYZYYZXYZXYZYYZYYZXYZYYZYYZXYZXYZYYZXYZXYZYYZXYZXY
|
|
|
|
Отправлено: 17.04.22 20:39. Заголовок: Регулярные выражения ...
Спасибо за подсказку, понял в чем ошибка!
|
|
|
|
Отправлено: 13.05.22 14:19. Заголовок: Подскажите, пожалуйс..
Подскажите, пожалуйста, в чем у меня ошибка, у меня тоже 19 s = open('1.txt').readline() c, i, m = 0, 0, 0 while i <= len(s) - 2: if s[ i] in "XZ" and s[i + 2] == 'Y': i += 3 c += 1 if c > m: m = c else: i += 1 c = 0 print(m)
|
|
|
|
| Администратор
|
Сообщение: 3544
|
|
Отправлено: 17.05.22 13:38. Заголовок: nikolya29 пишет: Под..
nikolya29 пишет: цитата: | Подскажите, пожалуйста, в чем у меня ошибка, у меня тоже 19 |
|
Отлаживайте на строке s = 'XZYYXXY' Ваша программа выдает ответ 1, а правильный - 2 (ZYYXXY).
|
|
|
|