Алексей Кабанов
Алексей Кабанов
  • Видео 303
  • Просмотров 5 815 784
Задание 25 (через itertools) // КЕГЭ по информатике 2024
Разбираемся с перебором чисел под маску через itertools
ОТКРЫТЫЙ КУРС kompege.ru/course
За мат, КАПС, политоту, флуд - перманентный бан.
Связаться с автором: cabanovalexey
Группа ВК ege_info_open
Тренажёр КЕГЭ: kompege.ru
--------------------------------------------------------------------------------------------
Ссылки на каналы других годных преподавателей:
Евгений Джобс
ruclips.net/channel/UCu50NY1uYmfuAWtNqPpHyDg
Информатик БУ
ruclips.net/channel/UCmUcjDHUkIMhfqBfyHYXYuA
Alex Danov
ruclips.net/user/AlexDanov
Андрей Рогов
ruclips.net/user/devinf74
Леонид Шастин
ruclips.net/channel/UC5A3HZVC0QeHhY5idc8Et5A
PRO100 EGE
ruclips.net/channel/UCYszoUecy8xroj_kjPOgOQQ
Таймкоды
00:00 Приветствие
00:50 ...
Просмотров: 10 210

Видео

Разбор варианта ЕГЭ по информатике от Яндекс Учебника №8
Просмотров 6 тыс.21 день назад
Разбираем последний весенний вариант от Яндекс Учебника Ссылка на вариант: education.yandex.ru/ege/variants/acef8ca0-4af3-4da7-8f39-c138b0d918c9/task/1 Бесплатный интенсив от Яндекс Учебника: education.yandex.ru/ege/go/webinars/mail Таймкоды 00:00 Приветствие (и пара слов про интенсив) 02:30 Задание 1 05:00 Задание 2 08:55 Задание 3 14:00 Задание 4 17:30 Задание 5 23:40 Задание 6 27:30 Задание ...
Разбор задания №  13 | Интенсив по подготовке к ЕГЭ 2024 с Яндекс Учебником
Просмотров 16 тыс.21 день назад
На вебинаре расскажем как решать задания с IP адресами и сетями. Ведущий: Алексей Кабанов, эксперт ЕГЭ Записаться на другие вебинары бесплатного интенсива education.yandex.ru/ege/go/webinars/mail Готовьтесь к ЕГЭ по информатике на бесплатной платформе Яндекс Учебник education.yandex.ru/ege Таймкоды: 00:00 Приветствие 00:30 Немного теории 12:45 IP адреса: количество единиц кратно 11 22:15 IP адр...
Разбор варианта ЕГЭ по информатике от Яндекс Учебника №5
Просмотров 11 тыс.2 месяца назад
Разбираем усложнённый апрельский вариант от Яндекс Учебника Ссылка на вариант: education.yandex.ru/ege/variants/7abf7990-4043-4fe4-b5ce-bcc69d714df9/task/1 Бесплатный интенсив от Яндекс Учебника: education.yandex.ru/ege/go/webinars/mail Таймкоды 00:00 Приветствие 00:40 Задание 1 02:30 Задание 2 07:40 Задание 3 10:05 Задание 4 13:40 Задание 5 21:40 Задание 6 31:05 Задание 7 33:35 Задание 8 35:25...
Задание 26 (жадные алгоритмы) // КЕГЭ по информатике 2024
Просмотров 14 тыс.2 месяца назад
Разбираемся с 26 задачами на жадные алгоритмы Ссылка на файлы: vk.cc/cwelVU ОТКРЫТЫЙ КУРС kompege.ru/course Подписка на полезные материалы: vk.cc/c3R4Og За мат, КАПС, политоту, флуд - перманентный бан. Связаться с автором: cabanovalexey Группа ВК ege_info_open Тренажёр КЕГЭ: kompege.ru Ссылки на каналы других годных преподавателей: Евгений Джобс ruclips.net/channel/UCu50NY1uYmfuAW...
Задание 13 // КЕГЭ по информатике 2024
Просмотров 16 тыс.3 месяца назад
Задание 13 // КЕГЭ по информатике 2024
Задание 22 // КЕГЭ по информатике 2024
Просмотров 45 тыс.8 месяцев назад
Задание 22 // КЕГЭ по информатике 2024
Задание 1 // КЕГЭ по информатике 2024
Просмотров 13 тыс.8 месяцев назад
Задание 1 // КЕГЭ по информатике 2024
Вариант Статград 28.03 (№24-27) // КЕГЭ по информатике 2023
Просмотров 10 тыс.Год назад
Вариант Статград 28.03 (№24-27) // КЕГЭ по информатике 2023
Разбор пробника ИМЦ СПб (№26, 27) // КЕГЭ по информатике 2023
Просмотров 8 тыс.Год назад
Разбор пробника ИМЦ СПб (№26, 27) // КЕГЭ по информатике 2023
Вариант Статград 14.02 (№24-27) // КЕГЭ по информатике 2023
Просмотров 7 тыс.Год назад
Вариант Статград 14.02 (№24-27) // КЕГЭ по информатике 2023
Вариант Статград 15.12 (№12, 24-27) // КЕГЭ по информатике 2023
Просмотров 10 тыс.Год назад
Вариант Статград 15.12 (№12, 24-27) // КЕГЭ по информатике 2023
Разбор открытого пробника 11.2022 (№27) // КЕГЭ по информатике 2023
Просмотров 6 тыс.Год назад
Разбор открытого пробника 11.2022 (№27) // КЕГЭ по информатике 2023
Вариант Статград 25.10 (№26, 27) // КЕГЭ по информатике 2023
Просмотров 7 тыс.Год назад
Вариант Статград 25.10 (№26, 27) // КЕГЭ по информатике 2023
Разбор открытого пробника 09.2022 (№27) // КЕГЭ по информатике 2023
Просмотров 5 тыс.Год назад
Разбор открытого пробника 09.2022 (№27) // КЕГЭ по информатике 2023
КАК БОТАТЬ НА ОТКРЫТОМ КУРСЕ // КЕГЭ по информатике 2023
Просмотров 105 тыс.Год назад
КАК БОТАТЬ НА ОТКРЫТОМ КУРСЕ // КЕГЭ по информатике 2023
Разбор демоверсии (24-27) // КЕГЭ по информатике 2023
Просмотров 11 тыс.Год назад
Разбор демоверсии (24-27) // КЕГЭ по информатике 2023
Разбор варианта Статград от 08.02 (часть II) // ЕГЭ по информатике 2022
Просмотров 4,4 тыс.2 года назад
Разбор варианта Статград от 08.02 (часть II) // ЕГЭ по информатике 2022
Задание 26 // ЕГЭ по информатике 2022
Просмотров 47 тыс.2 года назад
Задание 26 // ЕГЭ по информатике 2022
Задание 18 на пары // КЕГЭ по информатике 2024
Просмотров 17 тыс.2 года назад
Задание 18 на пары // КЕГЭ по информатике 2024
Программирование отрезков // ЕГЭ по информатике 2022
Просмотров 10 тыс.2 года назад
Программирование отрезков // ЕГЭ по информатике 2022
ВПР и сводная таблица // ЕГЭ по информатике 2022
Просмотров 9 тыс.2 года назад
ВПР и сводная таблица // ЕГЭ по информатике 2022
Решаем 3 задание через ВПР // ЕГЭ по информатике 2022
Просмотров 27 тыс.2 года назад
Решаем 3 задание через ВПР // ЕГЭ по информатике 2022
Решение №27 с основной волны 2020 (ДВ)
Просмотров 1,2 тыс.3 года назад
Решение №27 с основной волны 2020 (ДВ)
Решение №23 с основной волны 2020
Просмотров 4,3 тыс.3 года назад
Решение №23 с основной волны 2020
Разбор домашней работы за 19.06
Просмотров 5984 года назад
Разбор домашней работы за 19.06
Разбор домашней работы за 12.06
Просмотров 4004 года назад
Разбор домашней работы за 12.06
Разбор домашней работы за 05.06
Просмотров 5594 года назад
Разбор домашней работы за 05.06
ЕГЭ по информатике. Задание 23. Метод последовательного исключения.
Просмотров 9724 года назад
ЕГЭ по информатике. Задание 23. Метод последовательного исключения.
ЕГЭ по информатике. Задание №20. Алгоритм Евклида.
Просмотров 6344 года назад
ЕГЭ по информатике. Задание №20. Алгоритм Евклида.

Комментарии

  • @lifesdi1014
    @lifesdi1014 17 часов назад

    Где ссылка на вариант на КЕГЭ?

  • @vasifkf
    @vasifkf 18 часов назад

    Если кто-то поймёт в чём проблема, буду благодарна) Выдаёт 42 вместо 40... file = open('24_17563.txt').readline().strip() l, m, flag = 0, 0, 0 for r in range(1, len(file)): if file[r-1] + file[r] in ('*-', '-*', '**', '--', '-0', '*0'): flag = 1 while flag == 1: if file[l] + file[l+1] in ('*-', '-*', '**', '--', '-0', '*0'): flag = 0 l += 1 m = max(r-l+1, m) print(m)

  • @Pup_of_Earth
    @Pup_of_Earth 19 часов назад

    Отличное видео! Большое спасибо) Я решил все прошлые домашки на 100% и посмотрел все предыдущие записи, и чувствую полное понимание. Успехов Вам, Алексей!)

  • @damira9234
    @damira9234 19 часов назад

    1:56:19 Здесь ведь сказал "блин"? :)

  • @kkulf
    @kkulf День назад

    Иное решение в 47:10 : for x in range(1,100): s = '5' * 12 + '2' * x while '25' in s: s = s.replace('25','9',1) if sum(map(int,s))==122: print(x-12)

  • @user-tr2su9rf3x
    @user-tr2su9rf3x День назад

    У нас на Дальнем Востоке была эта гробовая 27 задача!

  • @mnxxx5154
    @mnxxx5154 2 дня назад

    жалко на ютубе нельзя >1го лайка ставить

  • @user-qf2ie7ll2m
    @user-qf2ie7ll2m 2 дня назад

    ну надо же. Спасибо, что выкладываете все номера, бесплатно, без воды, рекламы и прочей галиматьи...

  • @mnxxx5154
    @mnxxx5154 2 дня назад

    Нереальный гайд по 26 в экселе. Всегда решал их питоном, только некоторые пробовал экселем. Теперь я значительно лучше владею им, спасибо. Подготовка к пересдаче идет полным ходом :))))))))))))))))

  • @double_red
    @double_red 2 дня назад

    красивые листочки!!!

  • @user-hg4tu1ki9q
    @user-hg4tu1ki9q 3 дня назад

    Алексей, я вас люблю! Спасибо, без вас бы не сдала в прошлом году, в школе 2 года уроков не было

  • @Pup_of_Earth
    @Pup_of_Earth 3 дня назад

    Алексей, подскажите пожалуйста, какой программой вы пользуетесь на протяжении всего видео?

  • @user-sw1pg5zj2v
    @user-sw1pg5zj2v 3 дня назад

    def f(s): s = s.replace('+', ' + ') a = s.split() m = 0 n = a[0] for i in range(1, len(a), 2): if eval(n) == 0: n += a[i]+a[i+1] else: n = a[i+1] if eval(n) == 0: m = max(m, len(n)) return m s = open('24_21.txt').readline() s = s.replace('+', ' + ').replace('*', ' * ').split() a = [i for i in range(len(s)) if s[i] != '+' and s[i] != '*'] m = 0 n = str(int(s[a[0]])) for r in range(1,len(a)): if a[r] - a[r-1] == 2 and s[a[r]][0] != '0' and len(s[a[r]])>1: n += s[a[r]-1] + s[a[r]] m = max(m, f(n)) elif a[r] - a[r-1] == 2 and (s[a[r]][0] == '0' and len(s[a[r]]) > 1): n += s[a[r]-1] + s[a[r]][0] m = max(m, f(n)) n = str(int(s[a[r]])) elif a[r] - a[r-1] == 2 and len(s[a[r]]) == 1: n += s[a[r]-1] + s[a[r]] m = max(m, f(n)) else: n = str(int(s[a[r]])) print(m)

    • @user-xd1ky9zj4f
      @user-xd1ky9zj4f 2 дня назад

      Ужасно неэффективное решение, посчитало примерно за 118.91299986839294 секунд. Ответ правильный, но разбираться в решении я не собираюсь, так как оно суперсложное для понимания. Трудно, что ли, решить несложным для понимания, да ещё и самым эффективным на данный момент способом - регулярными выражениями? И ещё задача была рассчитана, кажется, на то, чтобы придумать, как избежать eval(). Хотя есть пользователь, нормально решивший задачу и без regex - @greatdruk, не считая его расписывания c.strip('+*') на полстраницы и других лишних действий.

  • @user-sw1pg5zj2v
    @user-sw1pg5zj2v 3 дня назад

    24 задача s = open('24_17563.txt').readline() s = s.replace('-', ' - ').replace('*', ' * ').split() a = [i for i in range(len(s)) if s[i] != '-' and s[i] != '*'] m = 0 n = str(int(s[a[0]])) for r in range(1,len(a)): if a[r] - a[r-1] == 2 and (s[a[r]][0] != '0'): n += s[a[r]-1] + s[a[r]] if n[0] != '0': m = max(m, len(n)) else: n = str(int(s[a[r]])) print(m)

    • @user-xd1ky9zj4f
      @user-xd1ky9zj4f 2 дня назад

      Просто числа - это вообще-то тоже правильная математическая последовательность. Решение не особо эффективное (около 9 секунд, можно решить за 2-3 секунды), сложное для понимания. Регулярными выражениями всё получается быстро и легко, так что изучайте их.

  • @antr0i
    @antr0i 3 дня назад

    Таймкоды 00:00 Приветствие 2:20 Задание 1 4:00 Задание 2 6:36 Задание 3 10:59 Задание 4 13:28 Задание 5 17:07 Задание 6 22:31 Задание 7 24:55 Задание 8 28:19 Задание 9 30:45 Задание 10 33:34 Задание 11 38:46 Задание 12 40:51 Задание 13 42:43 Задание 14 45:09 Задание 15 46:57 Задание 16 48:50 Задание 17 54:32 Задание 18 58:03 Задание 19-21 1:00:43 Задание 22 1:13:48 Задание 23 1:16:13 Задание 24 (идеи и размышления) 1:44:55 Задание 24 (рабочее решение Евгения Джобса) 1:52:18 Задание 25 1:56:17 Задание 26 2:12:10 Задание 27 3:13:24 Окончание и напутствия

  • @user-dm5px9yb4c
    @user-dm5px9yb4c 3 дня назад

    Здравствуйте,шеф. Огромное спасибо за подготовку , написал на 78 , доволен как слон . Открытый курс лучший!

  • @evgenrep
    @evgenrep 4 дня назад

    Здравствуйте! В 27 задаче в конце перебор должен выполняться до N - 1, так как иначе вы не учитываете вариант, когда у вас последний элемент последовательности входит в правую подпоследовательность (с учетом того, что в списках n + 1 элемент). У вас на тестах почему-то везде сошлось, но если больше тестов запустить, то там уже не везде получается.

  • @rice_venture
    @rice_venture 4 дня назад

    Вова красава! Люблю тебя! (с) мама

  • @neve7lss
    @neve7lss 5 дней назад

    m1=-10**1000 m2=-10**1000 m3=-10**1000 for i in range(2,N): m1=max(m1,a[i-2]) if m1>a[i-1]: m2=max(m2,m1-a[i-1]-a[i-1]) if a[i]>a[i-1]: m3=max(m3,m2+a[i]) print(m3)

  • @drawi6793
    @drawi6793 5 дней назад

    возможно я что-то путаю, но когда решали 27 а, почему не учли условие, что 0 < L? перебор для L был в диаползоне от 0 до N, а должен быть от 1 до N, или нет?

    • @kompege
      @kompege 4 дня назад

      По условию нумерация с единицы, но в списке нумерация идëт с нуля. Так что всë окей

    • @drawi6793
      @drawi6793 4 дня назад

      ​@@kompege Аааа, понял, спасибо

  • @user-te4pu4xs8w
    @user-te4pu4xs8w 5 дней назад

    это топ

  • @krimpast
    @krimpast 5 дней назад

    Решение №24 с помощью replace и split s = open('24.txt').readline() s = s.replace('-0',' ') s = s.replace('*0',' ') s = s.replace('--',' ') s = s.replace('**',' ') s = s.replace('*-',' ') s = s.replace('-*',' ') s = s.split() print(len(max([i for i in s], key=len)))

    • @krimpast
      @krimpast 5 дней назад

      Полируем код далее ) s = open('24.txt').readline() s = s.replace('-','*') s = s.replace('*0',' ') s = s.replace('**',' ') s = s.split() print(len(max([i for i in s], key=len)))

    • @krimpast
      @krimpast 5 дней назад

      в этом коде есть нюанс по поводу последовательности выполнения реплейсов: если сначала заменять '--', '**', '-*', '*-' на пробелы, то может оказаться, что '0' окажется в начале числа. Благо даже в том случае код выдавал правильный ответ

    • @user-xd1ky9zj4f
      @user-xd1ky9zj4f 5 дней назад

      @@krimpast s[:100]: ['0', '0', '*8*8', '8', '*7*9', '8', '*', '7', '*7', '990', '8', '*8', '*7', '7', '7*7', '*900', '*', '770*9', '7*7', '80*88', '*7', '*8', '780*80', '990*9', '*', '8', '*88799*77', '80', '8*8*9*9', '*7', '97', '9', '*98*8', '7', '009*7', '9*7700807', '9', '*97', '*9000', '*89', '8*70', '*8', '97', '*807', '8', '00*8*70', '*89*9080*7*70', '*99', '7*', '077', '*', '89', '7978', '*80', '0807*9*', '8', '*8', '*8*7000', '8', '979*', '99', '8*', '8*9', '8', '*80*', '0*8*88', '80879', '*9077*77089', '98*', '7*7', '8', '8*77', '9', '9', '7*7', '8', '80*7', '*', '7*807', '90*9', '8889*8*7*', '*', '*88*999', '*8', '*', '0', '80098*9', '*7700', '8', '*', '*99*777', '8970*9*88', '7', '*9*9', '*', '*', '8990*70', '*', '00', '8'] Код работает неправильно. Изучайте регулярные выражения: ими проще решать

    • @para8ellum512
      @para8ellum512 День назад

      Интересный момент. В варианте Свердловской области попалось подобное задание. В условии уточнялось, что подходящее вхождение в строку может начинаться с минуса. То есть, "-3*5" считается валидным ответом

    • @para8ellum512
      @para8ellum512 День назад

      тогда получается, что, попадись нам строка "*-3*5", программа удалит "*-" и не учтёт первый минус

  • @Ann_Georg
    @Ann_Georg 5 дней назад

    Данное 6 задание проще решить руками на бумаге

  • @MarYrdinac
    @MarYrdinac 5 дней назад

    Спасибо большое. С меня лайк, а с вас разбор). Лучший учитель информатики не страны, а МИРА!)))))

  • @nest7653
    @nest7653 6 дней назад

    Сдал экзамен на 80 баллов (мог написать намного лучше, сам виноват). Хочу выразить огромную благодарность за ваш труд! У вас самые лучшие "уроки" на ютубе, даже сложные задания становятся лёгкими с вашим решением и понятным объяснением. Удивительно что всё это бесплатно)

  • @imilya000
    @imilya000 6 дней назад

    Алексей, вы же твердили, что 26 задание-это задание ИСКЛЮЧИТЕЛЬНО на sort. На основной волне, судя по вашему решению, задание без sort. Думаю идти на пересдачу, тк два последних задания не дались и разрушили надежды на ожидаемый результат. То есть все-таки уверенность в сортировке стоит исключить ? Если я где-то не прав, прошу прощения. Просто хочу уточнить насчет этого момента с сорт.

    • @danielkalyagin
      @danielkalyagin 5 дней назад

      26-ые среднего уровня в основном на сортировку идут, но тут выпала сложная задачка, и ее сортировкой вроде как можно решить, но намного легче обойтись без нее, как Алексей показал)) Бывают такие 26-ые, где сортировка неявная, я так понимаю это один из таких прототипов

  • @greatdruk
    @greatdruk 6 дней назад

    Моё решение 24: f = open('24.txt', 'r') s = f.readline().strip().replace('++', ' ! ').replace('**', ' ! ').replace('+*', ' ! ').replace('*+', ' ! ').replace('+', ' + ').split() ans = 0 c = '' for i in s: if (i == '+') or ('*0' in i) or ('0*' in i) or ('0' == i): c += i else: if len(c) and c[-1] in '*+': c = c[:-1] if len(c) and c[0] in '*+': c = c[1:] ans = max(ans, len(c)) c = '' print(ans) f.close()

    • @user-xd1ky9zj4f
      @user-xd1ky9zj4f 2 дня назад

      Нормальное, адекватное решение, правильная идея, хорошая эффективность, только можно было его вот так записать покороче: s = open('24_17616.txt').readline().strip().replace('++', ' ! ').replace('**', ' ! ') s = s.replace('+*', ' ! ').replace('*+', ' ! ').replace('+', ' + ').split() ans = 0 c = '' for i in s: if (i in '0+') or ('*0' in i) or ('0*' in i): c += i else: c = c.strip('+*') ans = max(ans, len(c)) c = '' print(ans), А замены на " ! " желательно всё-таки регулярными выражениями делать: так короче и быстрее. И вообще решение ими + f-строки получается короче и проще. Без f-строк, конечно, короче, но сложнее.

    • @user-sw1pg5zj2v
      @user-sw1pg5zj2v День назад

      @@user-xd1ky9zj4f Хотел бы уточнить, а это решение разве учитывает незначащие нули?

    • @user-xd1ky9zj4f
      @user-xd1ky9zj4f День назад

      @@user-sw1pg5zj2v В варианте резерва их по условию в задаче нет

  • @user-xd1ky9zj4f
    @user-xd1ky9zj4f 6 дней назад

    Решение задания 24 регулярными выражениями (резерв, более читаемое, идеальное): s = open('24_17641.txt').readline(); import re num = '[0-9]+'; znum = f'(?:\*{num})'; group = f'(?:0{znum}*|{num}{znum}*?\*0{znum}*)' r = f'{group}(?:\+{group})*'; t = re.findall(r,s); print(len(max(t,key=len)))

  • @govor1000
    @govor1000 6 дней назад

    Как вариант s=open('24_17616.txt').read().replace('++',' ').replace('**',' ').replace('*+',' ').replace('+*',' ').split() t=set() for n in s: if n[0]=='*':n=n[1:] if n[0]=='+':n=n[1:] if n[-1]=='*':n=n[:-1] if n[-1]=='+':n=n[:-1] if eval(n)==0: t.add(len(n)) print(max(t))

    • @user-xd1ky9zj4f
      @user-xd1ky9zj4f 2 дня назад

      Это неверное решение. Верный ответ мог получиться случайно. Программа находит все самые длинные куски, которые являются математически правильным арифметическим выражением и проверяет его на равенство нулю, но не учитывает, что, например, в выражении 69378+0*76900+12395+0*0*0*0*0*80711*0+0+0*0+72731+0+0 есть подходящие: 0*76900; 0*0*0*0*0*80711*0+0+0*0; 0+0. Чтобы учитывать всё правильно, изучайте регулярные выражения - самый простой способ это сделать.

    • @govor1000
      @govor1000 День назад

      @@user-xd1ky9zj4f Покажите код, как надо

  • @experum-g9822
    @experum-g9822 6 дней назад

    Эх... Уже сдал этот егэ, а сейчас сижу трясусь на сессии. Это просто ужас, но спасибо тебе за всё! Без тебя я бы не поступил куда хотел...

  • @sdutentoeu
    @sdutentoeu 6 дней назад

    2:19 - 3:49 1 задание 3:55 - 6:31 2 задание 6:37 - 10:57 3 задание 11:00 - 12:54 4 задание 12:59 - 13:23 вариант от Е. Джобса 13:29 - 17:05 5 задание 17:08 - 22:27 6 задание 22:27 - 24:53 7 задание 24:56 - 27:50 8 задание 28:19 - 30:29 9 задание 30:45 - 32:50 10 задание 33:36 - 38:45 11 задание 38:46 - 40:50 12 задание 40:51 - 42:39 13 задание 42:44 - 45:09 14 задание 45:10 - 46:54 15 задание 46:55 - 48:49 16 задание 48:59 - 54:31 17 задание 54:32 - 57:59 18 задание 58:04 - 1:00:43 19-21 задания 1:00:43 - 1:13:47 22 задание 1:13:49 - 1:15:00 23 задание 1:15:04 - 1:52:18 24 задание 1:52:18 - 1:56:13 25 задание 1:56:13 - 2:12:16 26 задание 2:12:16 - 3:13:05 27 задание

  • @wenerd5692
    @wenerd5692 6 дней назад

    Мне ооооочень нужен файл на 24. Я вроде бы придумал самое адекватное решение не знаю сработает ли, но вот: ''' s = open('24.txt').readline().strip() def f(s:str): try: if eval(s) == 0: return True return False d = s.split('+') mx = 0 k = 0 l = 0 for si in d: if f(si) and '**' not in si: l += len(si) if k == 0 else len(si) + 1 k += 1 mx = max(mx, l) elif k == 0: while si != '' and '**' not in si and not f(si): si = si[1:] if si != '': k += 1 l += len(si) mx = max(mx, l) else: while si != '' and '**' not in si and not f(si): si = si[:-1] if si != '': l += len(si) + 1 mx = max(mx, l) k = 0 l = 0 print(mx) '''

    • @user-xd1ky9zj4f
      @user-xd1ky9zj4f 6 дней назад

      Не особо понял решение, но оно точно неверное, так как для строки s = '7*8**1*9*0' выдаёт ответ 10 при правильном 5. Это первое. Во-вторых, try не может существовать без except, и без этого при запуске программы сразу вылезает invalid syntax. Для резерва Сибири программа выдала правильный ответ - 153, но это точно получилось случайно. А для другого резерва такое неэффективное решение зависает после индекса где-то чуть больше 751000. Серьёзно, это решение работает две минуты (а то и больше), в то время как моё решение регулярными выражениями работает две секунды для обоих резервов. Если неэффективность возникла из-за eval(), то это можно исправить, так как нужно рассмотреть два случая (как я делал регулярными выражениями): 1) ноль + от 0 до бесконечности групп (умножить + число) 2) число + от 0 до бесконечности групп (умножить + число) до следующей группы (0 + умножить) + от 0 до бесконечности групп (умножить + число) Преимущества re.findall(): 1) Работает эффективно, примерно за O(n); 2) Не нужно мучиться с индексами; 3) Можно посмотреть список и сразу увидеть, что программа делает не так, чтобы не искать ошибку непонятно где, а сразу исправить в нужном месте. 4) Написать решение через эту функцию быстрее 5) Решение через эту функцию короткое, и в нём можно быстро разобраться 6) Написать легче, думать меньше 7) Решает 50% всех 24-ых задач Недостатки: 1) Не подходит для 50% задач 2) Долго изучать Недостатков намного меньше, чем преимуществ, так что изучайте регулярные выражения.

    • @user-xd1ky9zj4f
      @user-xd1ky9zj4f 6 дней назад

      Так что такое решение динамикой никак не самое адекватное

  • @Qwerty-yg5ty
    @Qwerty-yg5ty 6 дней назад

    пизда ребятки, я не сдал кажись

  • @Neonit202
    @Neonit202 7 дней назад

    Спасибо за детство, легенда

  • @dakuso7942
    @dakuso7942 7 дней назад

    я уже сдал экзамен, нахрена я это смотрю.. интересно)

  • @user-xd1ky9zj4f
    @user-xd1ky9zj4f 7 дней назад

    Решение задания 24 регулярными выражениями (резерв, Сибирь): s = open('24_17616.txt').readline().strip('*+') import re; group = '(?:0(?:\*[0-9]+)*|[0-9]+(?:\*[0-9]+)*?\*0(?:\*[0-9]+)*)' r = group+'(?:\+'+group+')*'; t = re.findall(r,s); print(len(max(t,key=len))). Но задача сложная, конечно.

    • @user-xd1ky9zj4f
      @user-xd1ky9zj4f 6 дней назад

      Если заменить 17616 на 17641, получится верное решение задания №24 с другого резерва (которая разбиралась)

  • @ymmi1937
    @ymmi1937 7 дней назад

    Спасибо за разбор и за помощь в подготовке, вы лучший❤ У меня у одной вариант абсолютно другой был с длинючим выражением в 2м задании? 😢

    • @armshorts777
      @armshorts777 7 дней назад

      нет

    • @user-ud7iz3pp6o
      @user-ud7iz3pp6o 7 дней назад

      +++

    • @user-nw1rb9fx2r
      @user-nw1rb9fx2r 7 дней назад

      Ахах, у меня тоже) Я вспотел пока его переписывал и скобки расставлял, но все получилось

    • @ymmi1937
      @ymmi1937 7 дней назад

      @@user-nw1rb9fx2r дада да ахахха какая жиза

    • @aakinkov
      @aakinkov 7 дней назад

      А какой ответ получился? И кто может задание кинуть?

  • @charleskinbote7748
    @charleskinbote7748 7 дней назад

    Заранее извиняюсь за тупой вопрос, но откуда у автора канала полная копия КИМа, что я писал сегодня?

    • @sarmathype6473
      @sarmathype6473 7 дней назад

      Он вроде как учитель и ученики просто оставляют после экзаменов файл на на рабочем столе с заданиями

    • @psychosurger
      @psychosurger День назад

      ​@@sarmathype6473,неттт😂

  • @wendett1
    @wendett1 7 дней назад

    Я в шоке, как 2 задание в уме можно решать...

    • @sarmathype6473
      @sarmathype6473 7 дней назад

      Главное знать, что в каждой строке должно быть два нуля и две еденицы, а это задание очень предсказуемое, потому что такая задачка уже была не один раз. Так что опыт плюс прогноз творят чудеса

    • @wendett1
      @wendett1 7 дней назад

      ​@@sarmathype6473тоже верно. Сейчас на моменте 24 задачи смотрю, и сижу втыкаю. В моменте не понимаю, что он и зачем пишет..

  • @tetraminomusician
    @tetraminomusician 7 дней назад

    Коллаб века

  • @tetraminomusician
    @tetraminomusician 7 дней назад

    Родя и Кабанов

  • @tetraminomusician
    @tetraminomusician 7 дней назад

    Офигеть

  • @user-yf7cr7cp6o
    @user-yf7cr7cp6o 7 дней назад

    невероятно продвинулся в теории игр благодоря вам!