Информатика | Илья Андрианов | itpy 🧑‍💻
1.04K subscribers
265 photos
21 videos
19 files
633 links
По рекламе: @ilandroxxy

Шпаргалки: clck.ru/3FwqWt
📚 Наши курсы: clck.ru/3FwqYb

Разборы: clck.ru/3Fwqay
💬 Чатик: clck.ru/3FwqZa

📺 YouTube: clck.ru/3FwqbX

🙋‍♂️ Я автор: @ilandroxxy
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 59794 #reshu по информатике #ЕГЭ24

Полный разбор задачи в Notion

👩‍💻 Код решения:
s = open('24.txt').readline()
s = s.split('U')
mini = 999999
for i in range(len(s)-108):
r = 'U'.join(s[i:i+109])
mini = min(mini, len(r))
print(mini + 2)


Файлы к заданию: 24.txt

#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
10105🤩2
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 60266 #reshu по информатике #ЕГЭ24

Полный разбор задачи в Notion

👩‍💻 Код решения:
s = open('24.txt').readline().split('T')
maxi = 0
for i in range(len(s)-100):
r = 'T'.join(s[i:i+101])
maxi = max(maxi, len(r))
print(maxi)


Файлы к заданию: 24.txt

#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
776👏2
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 7891 #kege по информатике #ЕГЭ24

Полный разбор задачи в Notion

👩‍💻 Код решения:
from string import *
alphabet = digits + ascii_uppercase
print(alphabet)

s = open('24.txt').readline()
maxi = 0
for a in alphabet:
s = s.replace(f'{a}', f'{a} {a}')
if maxi < max([len(x) for x in s.split()]):
maxi = max([len(x) for x in s.split()])
print(a, maxi)
s = s.replace(f'{a} {a}', f'{a}')
print(maxi)


Файлы к заданию: 24.txt

#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
986👏2
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера #statgrad по информатике #ЕГЭ24
Автор: Статград
Уровень:
Средний

🚩 Условие задачи:
Определите максимальную длину непрерывного фрагмента, который начинается и заканчивается одной и той же буквой из первой половины алфавита (от A до M) и не содержит эту букву внутри.


👩‍💻 Код решения:
s = open('24.txt').readline()
maxi = 0
for a in 'ABCDEFGHIJKLM':
s = s.replace(a, f'{a} {a}')
maxi = max(maxi, max([len(x) for x in s.split()]))
s = s.replace(f'{a} {a}', a)

print(maxi)

# Ответ: 322


👩‍💻 Комментарии к коду:

1⃣ s = open('24.txt').readline()
Чтение строки из файла '24.txt' и присвоение её содержимого переменной s.


2⃣ maxi = 0
Инициализация переменной maxi со значением 0, которая будет использоваться для хранения максимальной длины строки.


3⃣ for a in 'ABCDEFGHIJKLM':
Начало цикла по буквам из строки 'ABCDEFGHIJKLM'.


4⃣ s = s.replace(a, f'{a} {a}')
Замена каждого вхождения буквы a в строке s на a a.


5⃣ maxi = max(maxi, max([len(x) for x in s.split()]))
Обновление переменной maxi, выбирая максимальное значение между текущим значением maxi и максимальной длиной слова из разделенной строки s.


6⃣ s = s.replace(f'{a} {a}', a)
Восстановление оригинальной строки, заменяя a a на a.


7⃣ print(maxi)
Вывод значения maxi, которое содержит максимальную длину слова после обработки всеми буквами из цикла.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
853
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 786 #kege по информатике #ЕГЭ24
Автор: (Е.Джобс)
Уровень:
Средний

🚩 Условие задачи:
Сколько пар символов в строке являются симметричными? Симметричной парой называют такие два символа, которые расположены на одинаковом удалении от концов строки.


👩‍💻 Код решения:
s = open('24.txt').readline()
cnt = 0
for i in range(len(s) // 2):
if s[i] == s[-1-i]:
print(s[i], s[-1-i])
cnt += 1
print(cnt)

# Ответ: 19100


👩‍💻 Комментарии к коду:

1⃣ s = open('24.txt').readline()
Чтение строки из файла "24.txt" и помещение этой строки в переменную s.


2⃣ cnt = 0
Инициализация переменной cnt для подсчета количества пар символов, которые совпадают в строке.


3⃣ for i in range(len(s) // 2):
Цикл for, который проходит по половине длины строки s. Это делается для сравнения символов симметрично относительно центра строки.


4⃣ if s[i] == s[-1-i]:
Проверка условия: если символ на позиции i равен символу на позиции -1-i (то есть симметрично расположенные символы равны).


5⃣ print(s[i], s[-1-i])
Вывод на экран пары символов, которые совпадают симметрично.


6⃣ cnt += 1
Увеличение счетчика cnt на 1 при каждом совпадении пары символов.


7⃣ print(cnt)
Вывод общего количества пар совпадающих символов в строке.


В голосовом оставлю мини-комментарий к коду решения этой программы 👇👇👇

Информатика ЕГЭ | itpy 👨‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
8551
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 16388 #kege по информатике #ЕГЭ24
Автор: ЕГКР 27.04.24
Уровень: Базовый


🚩 Условие задачи:
В прилагаемом файле определите максимальное количество символов в непрерывной подпоследовательности, состоящей из идущих подряд групп символов KLMN в указанном порядке, при этом в начале и в конце искомой последовательности группа символов KLMN может быть неполной.

Файл оставлю в комментариях 👇

🚩 Теоретическая справка:
Аудио с пояснением к коду решения оставлю в комментариях.


👩‍💻 Код решения:
s = open('24.txt').readline()
count = 3
maxi = 0
for i in range(len(s)-3):
if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):
count += 1
maxi = max(maxi, count)
else:
count = 3
print(maxi)

# Ответ: 182


👩‍💻 Комментарии к коду:

1⃣ s = open('24.txt').readline()
Чтение строки из файла "24.txt" и сохранение ее в переменную s.


2⃣ count = 3
Инициализация переменной count со значением 3, которая будет использоваться для подсчета последовательности.


3⃣ maxi = 0
Инициализация переменной maxi со значением 0, которая будет хранить максимальное количество найденных последовательностей.


4⃣ for i in range(len(s)-3):
Цикл, перебирающий индексы от 0 до len(s)-4 для итерации по всем четверным подстрокам строки s.


5⃣ if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):
Проверка, содержится ли текущая четверная подстрока строки s в заданных последовательностях 'KLMN', 'LMNK', 'MNKL' или 'NKLM'.


6⃣ count += 1
Увеличение значения переменной count на 1, если найдена подходящая четверная последовательность.


7⃣ maxi = max(maxi, count)
Обновление значения переменной maxi на максимальное из текущего значения и count.


8⃣ else:
В случае, если текущая четверная подстрока не соответствует заданным последовательностям:


0⃣ count = 3
Сброс значения переменной count до 3 для начала подсчета заново.


🔟 print(maxi)
Вывод максимального количества найденных последовательностей заданного типа в строке s после завершения цикла.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1177
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 4142 #polyakov по информатике #ЕГЭ24
Автор: А. Богданов
Уровень: Средний


🚩 Условие задачи:
Файл разбит на строки различной длины. Определите максимальную длину цепочки символов, состоящей из повторяющихся фрагментов XYZ.


👩‍💻 Код решения:
s = open('24.txt').readlines()
maxi = 0
for x in s:
count = 2
for i in range(len(x)-2):
if x[i:i+3] in ('XYZ', 'YZX', 'ZXY'):
count += 1
maxi = max(maxi, count)
else:
count = 2
print(maxi)

# Ответ: 53


👩‍💻 Комментарии к коду:

1⃣ s = open('24.txt').readlines()
Чтение всех строк из файла "24.txt" и сохранение их в виде списка строк в переменную s.


2⃣ maxi = 0
Инициализация переменной maxi со значением 0, которая будет хранить максимальное количество найденных последовательностей.


3⃣ for x in s:
Цикл, который перебирает строки из списка s для анализа каждой строки отдельно.


4⃣ count = 2
Инициализация переменной count со значением 2, которая будет использоваться для подсчета последовательности в текущей строке.


5⃣ for i in range(len(x)-2):
Внутренний цикл, который перебирает индексы от 0 до длины строки x минус 2 для итерации по каждой тройной подстроке в текущей строке.


6⃣ if x[i:i+3] in ('XYZ', 'YZX', 'ZXY'):
Проверка условия: если текущая тройная подстрока x присутствует в кортеже заданных строк 'XYZ', 'YZX' или 'ZXY'.


7⃣ count += 1
Увеличение значения переменной count на 1, если найдена подходящая тройная последовательность.


8⃣ maxi = max(maxi, count)
Обновление значения переменной maxi на большее из текущего значения и count.


0⃣ else:
В случае, если текущая тройная подстрока не соответствует заданным последовательностям:


1⃣0⃣ count = 2
Сброс значения переменной count на 2 для начала подсчета заново в текущей строке.


1⃣1⃣ print(maxi)
Вывод наибольшего значения переменной maxi.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
764
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 16269 #kege по информатике #ЕГЭ24
Автор: Е. Джобс
Уровень: Средний


🚩 Условие задачи:
Текстовый файл состоит из символов T, U, V, W, X, Y и Z.

Определите в прилагаемом файле максимальную длину подстроки, состоящую из пар символов XX, YY или ZZ в произвольном порядке, при этом ни одна пара не должна повторяться два раза подряд.


🚩 Теоретическая справка:
Аудио с пояснением к коду решения оставлю в комментариях.


👩‍💻 Код решения:
s = open('24.txt').readline()
for a in 'TUVW':
s = s.replace(a, ' ')
for a in 'XYZ':
while a*4 in s:
s = s.replace(a*4, f'{a*2} {a*2}')
while a*3 in s:
s = s.replace(a*3, f'{a*2} {a*2}')
print(max([len(x) for x in s.split()]))
print(max(map(len, s.split())))

# Ответ: 52


👩‍💻 Комментарии к коду:

1⃣ s = open('24.txt').readline()
Чтение первой строки из файла "24.txt" и сохранение ее содержимого в переменную s.


2⃣ for a in 'TUVW':
Цикл, который перебирает символы 'T', 'U', 'V', 'W' для замены их на пробел в строке s.


3⃣ s = s.replace(a, ' ')
Замена каждого символа 'T', 'U', 'V', 'W' на пробел в строке s.


4⃣ for a in 'XYZ':
Цикл, который перебирает символы 'X', 'Y', 'Z' для выполнения дополнительных преобразований в строке s.


5⃣ while a*4 in s:
Пока последовательность из 4 символов a присутствует в строке s.


6⃣ s = s.replace(a*4, f'{a*2} {a*2}')
Замена последовательности из 4 символов a на строку, состоящую из 2 символов a, пробела и еще 2 символов a.


7⃣ while a*3 in s:
Пока последовательность из 3 символов a присутствует в строке s.


8⃣ s = s.replace(a*3, f'{a*2} {a*2}')
Замена последовательности из 3 символов a на строку, состоящую из 2 символов a, пробела и еще 2 символов a.


0⃣ print(max([len(x) for x in s.split()]))
Вывод максимальной длины слова после разделения строки s по пробелам и определения максимальной длины с помощью List Comprehension.


🔟 print(max(map(len, s.split())))
Еще одна аналогичная запись.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора: boosty 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1074
This media is not supported in your browser
VIEW IN TELEGRAM
2⃣4⃣ Шпаргалка ЕГЭ | Задание #ЕГЭ24 #шпора

📌 Ссылка на полную версию шпаргалки/методички на Notion.

Поставь ❤️‍🔥, отправь другу, и забирай несколько полезных функций, которые уже ждут тебя здесь:

🚩 Чтение файла для 24 номера:
s = open('24.txt').readline()


🚩 Способ замены подстроки из файла:
s = s.replace('1', '2').replace('W', 'R')


🚩 Ищем подстроку наибольшей длины:
print(max([len(x) for x in s.split()]))


🚩 Ищем в строке s четверки символов:
for i in range(len(s)-3):
if s[i:i+4] in ('KLMN', 'LMNK', 'MNKL', 'NKLM'):


Информатика ЕГЭ | itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
1255
🚩🚩 Разбор ДВ #2024 номера #24 по информатике #ЕГЭ24

🚩 Условие задачи:
Текстовый файл состоит из заглавных букв латинского алфавита А, B, C, D, E и F.
Определите максимальное количество идущих подряд символов в прилагаемом файле, среди которых пара символов DE (в указанном порядке) встречается не более 240 раз.
Для выполнения этого задания следует написать программу.


👩‍💻 Код решения:
s = open('24.txt').readline()
s = s.replace('DE', 'D E').split()
maxi = -1
for i in range(len(s)):
r = ''.join(s[i:i+241])
maxi = max(maxi, len(r))
print(maxi)



👩‍💻 Комментарии к коду:

1. s = open('24.txt').readline()
Чтение строки из файла '24.txt' и сохранение этой строки в переменной `s`.


2. s = s.replace('DE', 'D E').split()
Замена подстроки 'DE' на 'D E' в строке `s` с последующим разделением строки на список слов.


3. maxi = -1
Инициализация переменной `maxi` c начальным значением -1 для хранения максимальной длины подстроки.


4. for i in range(len(s)):
Цикл `for`, который проходит по индексам элементов в списке `s`.


5. r = ''.join(s[i:i+241])
Создание строки `r`, объединив элементы списка `s` от индекса `i` до индекса `i+241`.

6. maxi = max(maxi, len(r))
Обновление переменной `maxi` значением, равным максимуму между текущим значением `maxi` и длиной строки `r`.


7. print(maxi)
Вывод наибольшей длины строки `r` из всех подстрок в переменной `s`.


Информатика ЕГЭ | itpy 🧑‍💻
Тут отвечают на вопросы
Please open Telegram to view this post
VIEW IN TELEGRAM
126421
This media is not supported in your browser
VIEW IN TELEGRAM
2⃣4⃣ Разбор номера #kege по информатике #ЕГЭ24
Автор: Л. Шастин, Вариант 7 (2024)
Уровень: Средний


🚩 Условие задачи:
Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых никакая гласная буква не стоит раньше согласной.

Примечание. Гласные буквы латинского алфавита: A, E, I, O, U, Y.


🚩 Теоретическая справка:
Аудио с пояснением к коду решения оставлю в комментариях.


👩‍💻 Код решения:
s = open('24.txt').readline()
for x in 'AEIOUY':
s = s.replace(x, '* ')
print(max([len(x) for x in s.split()]))

# Ответ: 9052


👩‍💻 Комментарии к коду:

1️⃣
s = open('24.txt').readline()
Считываем первую строку из файла '24.txt' и сохраняем ее в переменную s


2️⃣
for x in 'AEIOUY':
Начинаем цикл, который будет поочередно обрабатывать каждую букву из строки 'AEIOUY'


3️⃣
s = s.replace(x, '* ')
Заменяем каждую гласную букву x в строке s на комбинацию символов '* '


4️⃣
print(max([len(x) for x in s.split()]))
Разбиваем строку s по пробелам, находим длину каждого полученного фрагмента и выводим максимальную длину этих фрагментов


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
833
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 45258 #reshu по информатике #ЕГЭ24
Автор: Решу ЕГЭ
Уровень: Базовый


🚩 Условие задачи:
Определите максимальное количество идущих подряд пар символов AB или CB в прилагаемом файле.

Искомая подпоследовательность должна состоять только из пар AB, или только из пар CB, или только из пар AB и CB в произвольном порядке следования этих пар.


🚩 Теоретическая справка:
Этот номер очень удобно решается через замену всех "лишних" элементов.


👩‍💻 Код решения:
s = open('files/24.txt').readline()
s = s.replace('AB', '*').replace('CB', '+')

for x in 'ABC':
s = s.replace(x, ' ')

print(max([len(x) for x in s.split()]))
print(len(max(s.split(), key=len)))

# Ответ: 65


👩‍💻 Комментарии к коду:

1⃣ s = open('files/24.txt').readline()
- Открывает файл с именем 'files/24.txt' и читает первую строку из этого файла, затем сохраняет её в переменную s.


2⃣ s = s.replace('AB', '*').replace('CB', '+')
- Заменяет все вхождения 'AB' в строке Услона символ '*', затем заменяет все вхождения 'CB' на символ '+'.


3⃣ for x in 'ABC':
- Инициализирует цикл, который будет последовательно проходить через каждую букву в строке 'ABC'.


4⃣ s = s.replace(x, ' ')
- Для каждой буквы x в строке 'ABC', заменяет все её вхождения в строкеЭ24
Ана пробелы.


5⃣ print(max([len(x) for x in s.split()]))
- Разделяет строку s на части (слова), используя пробелы как разделители, затем вычисляет длину каждой части и выводит максимальную из них.


6⃣ print(len(max(s.split(), key=len)))
- Так же, как предыдущая строка, разделяет строку s на части (слова), используя пробелы в качестве разделителей, и затем находит и выводит длину самой длинной части в строке.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Наша Stepik подборкой задач😼
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥11🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 13715 #kege по информатике #ЕГЭ24
Автор: kompege.ru
Уровень: Средний


🚩 Условие задачи:
Текстовый файл состоит из символов A, B, C, D и E.

Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых комбинация символов AB встречается ровно 50 раз.


🚩 Теоретическая справка:
Важно после разбиения не забыть добавить по одному элементу справа и слева к строке r, так как мы удаляем пары символов, а отдельные символы должны оставить.


👩‍💻 Код решения:
s = open('0. files/24.txt').readline()
s = s.split('AB')
maxi = 0
for i in range(len(s)-50):
r = 'B' + 'AB'.join(s[i:i+51]) + 'A'
maxi = max(maxi, len(r))
print(maxi)

# Ответ: 10128


👩‍💻 Комментарии к коду:

1⃣ s = open('0. files/24.txt').readline()
# Открываем файл '0. files/24.txt' и читаем первую строку.


2⃣ s = s.split('AB')
# Разделяем строку на подстроки по разделителю 'AB' и сохраняем результат в список.


3⃣ maxi = 0
# Инициализируем переменную maxi, которая будет содержать максимальную длину найденной строки.


4⃣ for i in range(len(s)-50):
# Запускаем цикл, который будет проходить по индексам списка s от 0 до длины списка минус 50.


5⃣ r = 'B' + 'AB'.join(si:i+51) + 'A'
# Формируем новую строку r, представляющую собой соединение элементов списка s от текущего индекса i до i+50 с добавлением 'B' в начале и 'A' в конце.


6⃣ maxi = max(maxi, len(r))
# Обновляем значение maxi, если длина текущей строки r больше предыдущего значения maxi.


7⃣ print(maxi)
# Выводим максимальную длину строки, соответствующую заданным условиям.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥104❤‍🔥22
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор этого номера #yandex по информатике #ЕГЭ24
Автор: Шастин Л
Уровень: Средний


🚩 Условие задачи:
Текстовый файл состоит из символов A, C, D, F и O.
Определите максимальное количество идущих подряд символов, среди которых не более 5 пар вида согласная + гласная в прилагаемом файле.


🚩 Теоретическая справка:
Чуть более сложная версия прошлой задачи.


👩‍💻 Код решения:
s = open('0. files/24.txt').readline()
s = s.replace('C', 'D').replace('F', 'D')
s = s.replace('O', 'A')
s = s.split('DA')
maxi = 0
for i in range(len(s)-5):
r = 'A' + 'DA'.join(s[i:i+6]) + 'D'
maxi = max(maxi, len(r))
print(maxi)

Ответ: 27


👩‍💻 Комментарии к коду:

1⃣ s = open('24.txt').readline()
Открываем файл '0. files/24.txt' и читаем первую строку.


2⃣ s = s.replace('C', 'D').replace('F', 'D')
Заменяем символы 'C' и 'F' на 'D' во всей строке.


3⃣ s = s.replace('O', 'A')
Заменяем символ 'O' на 'A' во всей строке.


4⃣ s = s.split('DA')
Разделяем строку на подстроки по разделителю 'DA' и сохраняем результат в список.


5⃣ maxi = 0
Инициализируем переменную maxi для хранения максимальной длины найденной строки.


6⃣ for i in range(len(s)-5):
Запускаем цикл по индексам списка s от 0 до длины списка минус 5.


7⃣ r = 'A' + 'DA'.join(si:i+6) + 'D'
Формируем новую строку r, соединяя элементы списка s от текущего индекса i до i+5 с добавлением 'A' в начале и 'D' в конце.


8⃣ maxi = max(maxi, len(r))
Обновляем значение maxi, если длина текущей строки r больше предыдущего значения maxi.


0⃣ print(maxi)
Выводим максимальную длину строки, соответствующую условиям задачи.


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Второй канал про теорию Python 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤‍🔥9541
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 12476 #kege по информатике #ЕГЭ24
Автор: PRO100 ЕГЭ
Уровень: Сложный


🚩 Условие задачи:
Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых комбинация символов RO встречается ровно 21 раз, а комбинации символов ORO и ROR ни разу не встречаются.


🚩 Теоретическая справка:
Если ORO и ROR найдутся в строке, то не нужно отсеивать все строку - необходимо разбить ее и исследовать подстроки по отдельности!


👩‍💻 Код решения:
s = open('0. files/24.txt').readline()
s = s.split('RO')
maxi = 0
for i in range(len(s)-21):
r = 'O' + 'RO'.join(s[i:i+22]) + 'R'
if 'ROR' in r or 'ORO' in r:
r = r.replace('ROR', 'RO OR')
r = r.replace('ORO', 'OR RO')
maxi = max(maxi, max([len(x) for x in r.split()]))
print(maxi)

Ответ: 814


👩‍💻 Комментарии к коду:

s = open('24.txt').readline()

1⃣ Открываем файл '24.txt' и читаем первую строку.

s = s.split('RO')

2⃣ Разделяем строку на подстроки по разделителю 'RO' и сохраняем результат в список.

maxi = 0

3⃣ Инициализируем переменную maxi для хранения максимальной длины отдельных частей строки.

for i in range(len(s)-21):

4⃣ Запускаем цикл по индексам списка s от 0 до длины списка минус 21.

r = 'O' + 'RO'.join(si:i+22) + 'R'

5⃣ Формируем новую строку r, соединяя 22 элемента списка s с добавлением 'O' в начале и 'R' в конце.

if 'ROR' in r or 'ORO' in r:

6⃣ Проверяем, содержит ли строка r подстроки 'ROR' или 'ORO'.

r = r.replace('ROR', 'RO OR')

7⃣ Заменяем все вхождения 'ROR' на 'RO OR' в строке r.


r = r.replace('ORO', 'OR RO')

8⃣ Заменяем все вхождения 'ORO' на 'OR RO' в строке r.

maxi = max(maxi, max(len(x) for x in r.split()))

0⃣ Обновляем значение maxi, определяя максимальную длину части среди всех частей, на которые была разделена строка r.

print(maxi)

🔟 Выводим максимальную длину среди найденных частей строки.

#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Кстати у нас есть чатик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥86👍5
This media is not supported in your browser
VIEW IN TELEGRAM
🚩🚩 Разбор номера 14513 #kege по информатике #ЕГЭ24
Автор: Л. Шастин
Уровень: Базовый


🚩 Условие задачи:
Назовём маской образец строки, который строится на основании служебных знаков # и &, причём знак # обозначает непустую последовательность из идущих подряд букв, а знак & задает непустую последовательность из идущих подряд цифр.

Определите в прилагаемом файле максимальную длину подстроки, которая соответствует маске #&#.


🚩 Теоретическая справка:
Очень понравилась эта задача, идея решения заключается в приведении всех букв к одному символу и всех цифр к другому символу. Затем разбиваем полученную последовательность на пары, разделенные пробелами, и убираем лишние цифры справа, после чего находим самую длинную строку.


👩‍💻 Код решения:
from string import *
maxi = 0
s = open('0. files/24.txt').readline()
for x in digits:
s = s.replace(x, '&')
for x in ascii_uppercase:
s = s.replace(x, '#')
s = s.replace('&#', '& #')
s = s.split()
for i in range(len(s)-1):
r = ''.join(s[i:i+2])

while r[-1] == '&':
r = r[:-1]
maxi = max(maxi, len(r))
print(maxi)

Ответ: 49


👩‍💻 Комментарии к коду:

from string import *

1⃣ Импортируем все символы и функции из модуля string, включая digits (цифры) и ascii_uppercase (заглавные буквы алфавита).

maxi = 0

2⃣ Инициализируем переменную maxi, которая будет хранить максимальную длину найденной последовательности.

s = open('24.txt').readline()

3⃣ Открываем файл '24.txt' и читаем первую строку.

for x in digits:

4⃣ Проходим по всем символам цифр от 0 до 9.

s = s.replace(x, '&')

5⃣ Заменяем каждую цифру в строке символом '&'.

for x in ascii_uppercase:

6⃣ Проходим по всем заглавным буквам английского алфавита.

s = s.replace(x, '#')

7⃣ Заменяем каждую заглавную букву в строке символом '#'.

s = s.replace('&#', '& #')

8⃣ Заменяем последовательность '&#' на '& #' с пробелом между ними.

s = s.split()

0⃣ Разбиваем строку s на список строк, используя пробелы в качестве разделителей.

for i in range(len(s)-1):

🔟 Перебираем индексы в списке s от 0 до длины списка минус 1.

r = ''.join(s[i:i+2])

1⃣1⃣ Формируем строку r путем объединения двух соседних элементов списка s.

while r[-1] == '&':

1⃣2⃣ Запускаем цикл, который продолжается, пока последний символ строки r равен '&'.

r = r[:-1]

1⃣3⃣ Убираем последний символ из строки r.

maxi = max(maxi, len(r))

1⃣4⃣ Обновляем значение maxi, если длина текущей строки r больше, чем текущее значение maxi.

print(maxi)

1⃣5⃣ Выводим максимальную длину найденной последовательности.

#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Наша Stepik подборкой задач😼
Please open Telegram to view this post
VIEW IN TELEGRAM
210🔥33👍1
🚩🚩 Разбор номера 21421 #kege по информатике #ЕГЭ24
Автор: Досрочная волна 2025
Уровень: Базовый


🚩 Условие задачи:
Текстовый файл состоит из символов, обозначающих десятичные цифры и заглавные буквы латинского алфавита.
Определите в прилагаемом файле максимальное количество идущих подряд символов, которые могут представлять запись чётного числа в двенадцатеричной системе счисления. В этой записи отсутствуют незначащие (ведущие) нули.


🚩 Теоретическая справка:
Регулярные выражения стали еще одним шагом ФИПИ к усложнению 24 номера, поэтому на канале постараюсь почаще публиковать решения через библиотеку re.

Обратите внимание на строчку номер 8 - настоятельно рекомендую не пропускать этот шаг, чтобы визуально можно было проверить вывод своей программы!



👩‍💻 Код решения:
from re import *

s = open('0. files/24.txt').readline()
num = r'([1-B][0-B]*[02468A]|[0-B])'
M = [x.group() for x in finditer(num, s)]
maxi = 0
for x in M:
maxi = max(maxi, len(x))
print(x)
print(maxi)

Ответ: 19

👩‍💻 Комментарии к коду:

1⃣ from re import *
Импортирует все функции из модуля регулярных выражений re.


2⃣ s = open('24.txt').readline()
Открывает файл '24.txt', считывает первую строку и сохраняет её в переменную s.


3⃣ num = r'([1-B][0-B]*[02468A]|[0-B])'
Создаёт шаблон регулярного выражения, который ищет либо последовательность, начинающуюся с символа от 1 до B, содержащую любое количество символов от 0 до B и заканчивающуюся чётным символом (0,2,4,6,8,A), либо одиночный символ от 0 до B.


4⃣ M = [x.group() for x in finditer(num, s)]
Находит все совпадения с шаблоном num в строке s и создаёт список M из найденных совпадений, используя генератор списка и метод group().


5⃣ maxi = 0
Инициализирует переменную maxi значением 0 для хранения максимальной длины найденной последовательности.


6⃣ for x in M:
Начинает цикл, который перебирает все найденные последовательности в списке M.


7⃣ maxi = max(maxi, len(x))
Обновляет значение maxi, выбирая максимум между текущим значением maxi и длиной текущей последовательности x.


8⃣ print(x)
Выводит текущую последовательность x на экран.


0⃣ print(maxi)
После завершения цикла выводит максимальную длину найденной последовательности.


#️⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Поддержать автора донатом 💵
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7🔥43🫡2
🚩🚩 Разбор номера 19254 #kege по информатике #ЕГЭ24
Автор: ЕГКР
Уровень: Базовый


🚩 Условие задачи:
Текстовый файл состоит из символов F, G, Q, R, S и W. Определите в прилагаемом файле максимальное количество идущих подряд символов, среди которых подстрока FSRQ встречается ровно 80 раз.


🚩 Теоретическая справка:
Аудио с пояснением к коду решения оставлю в комментариях.


👩‍💻 Код решения:
s = open('0. files/24.txt').readline()
s = s.split('FSRQ')
maxi = 0
for i in range(len(s)-80):
r = 'SRQ' + 'FSRQ'.join(s[i:i+81]) + 'FSR'
maxi = max(maxi, len(r))
print(maxi)

Ответ: 2379


👩‍💻 Комментарии к коду:

1⃣ s = open('0. files/24.txt').readline()
Открываем файл 24.txt из папки 0. files и читаем первую строку, сохраняя её в переменную s


2⃣ s = s.split('FSRQ')
Разбиваем строку s на список подстрок, используя разделитель 'FSRQ'


3⃣ maxi = 0
Инициализируем переменную maxi для хранения максимальной длины найденной подстроки


4⃣ for i in range(len(s)-80):
Запускаем цикл по индексам списка s, оставляя запас в 80 элементов для обработки последующих 81 элементов


5⃣ r = 'SRQ' + 'FSRQ'.join(s[i:i+81]) + 'FSR'
Формируем строку r, соединяя 81 подстроку из списка s с разделителем 'FSRQ', добавляя префикс 'SRQ' и суффикс 'FSR'


6⃣ maxi = max(maxi, len(r))
Обновляем maxi, если длина строки r больше текущего значения maxi


7⃣ print(maxi)
Выводим максимальную найденную длину строки r


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥52🔥2
🚩🚩 Разбор #ДВ2025 номера #ЕГЭ24 по информатике

🚩 Условие задачи:
Определите в прилагаемом файле последовательность идущих подряд символов наибольшей длины, в которой символ D встречается 1 раз и он находится в начале, а также содержится 50 цифр. В ответе запишите длину найдённой последовательности.


👩‍💻 Код решения:
f = open('24.txt').readline()
for i in '0123456789':
f = f.replace(i, '1')
f = f.split('D')
M = [len(x) for x in f if x.count('1') == 50]
print(max(M)+1)



#⃣ Разбор задач ДВ, первый день 10.06.25
#⃣ Шпаргалки по всем остальным номерам ЕГЭ

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥86❤‍🔥5
🚩🚩 Разбор номера 14512 #kege по информатике #ЕГЭ24
Автор: Л.Шастин
Уровень:
Средний

🚩 Условие задачи:
Текстовый файл состоит из символов, обозначающих буквы латинского алфавита A, В и С и цифры 1 и 8.

Определите в прилагаемом файле максимальную длину подстроки, которая начинается и заканчивается на разные цифры, включает в себя равное количество букв B и C и не содержит других цифр, кроме первой и последней.

Для выполнения этого задания следует написать программу.


👩‍💻 Код решения:
s = open('0. files/24.txt').readline()
s = s.replace('1', '1 1').replace('8', '8 8')
maxi = 0
for x in s.split():
if x.count('1') == 1:
if x.count('B') == x.count('C'):
maxi = max(maxi, len(x))
print(maxi)

Ответ: 1315


👩‍💻 Комментарии к коду:

1⃣s = open('0. files/24.txt').readline()
• Открываем файл '0. files/24.txt' и читаем первую строку, сохраняя её в переменную s


2⃣ s = s.replace('1', '1 1').replace('8', '8 8')
• Заменяем каждый символ '1' на '1 1' и каждый символ '8' на '8 8', удваивая их и добавляя пробелы между ними


3⃣ maxi = 0
• Инициализируем переменную maxi для хранения максимальной длины подходящей строки


4⃣ for x in s.split():
• Разбиваем строку s на список подстрок по пробелам и начинаем перебирать каждую подстроку в цикле


5⃣ if x.count('1') == 1:
• Проверяем, что текущая подстрока x содержит ровно один символ '1'


6⃣ if x.count('B') == x.count('C'):
• Проверяем, что количество символов 'B' равно количеству символов 'C' в текущей подстроке


7⃣ maxi = max(maxi, len(x))
• Если оба условия выше выполнены, обновляем maxi, сохраняя максимальное значение между текущим maxi и длиной подстроки x


8⃣print(maxi)
• Выводим максимальную длину подходящей подстроки, найденную в результате работы программы


#⃣ Полный список разборов в одном месте

Информатика ЕГЭ | чатик itpy 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍2🔥2