t.me/+w7QoKUXpSh9lZTky - телеграмм канал с полезной информацией и подготовкой к ЕГЭ там буду разбирать некоторые задания с ДАЛЬНЕГО ВОСТОКА в дни экзамена 🔥🔥🔥
@кабан-ф4ц5 ай бұрын
во, вот это я понимаю подход.Все просто , понятно.До этого смотрел других ребят, ни у одного код не понимал.Уже хотел просто зазубрить и все, но все же я пытался все таки научиться понимать , а не тупо заучить.И вот я наткнулся на ваше замечательное видио.Спасибо вам огромное! С первого раза код понял.
@user-zi8lj4bv8y5 ай бұрын
круто, рад, что разобрался! тогда 3ех баллов тебе на экзамене в этой задаче)
@Darkwave_off2 жыл бұрын
сколько же я пытался понять как решать ТИ... суммарно - почти месяц... а тут понял всё за полчаса и радуюсь жизни. спасибо Вам огромное!
@user-zi8lj4bv8y2 жыл бұрын
пожалуйста! На экзамене скажите, помогло ли) успехов
@mazer4372Ай бұрын
спасибо большое, залутал свои баллы и поступил, куда хотел благодаря вам
@user-zi8lj4bv8y28 күн бұрын
красава)
@Rigel_255 ай бұрын
Спасибо тебе, добрый человек. Посмотрел видео сразу понял как решать. До этого смотрел решение через другой огромный сложный код, и поэтому думал, что питоном решать сложно
@dimadyadkin8002 Жыл бұрын
У вас потрясающе получается объяснять материал, спасибо!
@user-zi8lj4bv8y Жыл бұрын
Спасибо! Приятно слышать
@littlefrogg-ee4ve3 ай бұрын
Завтра егэ по инфе. Ваш видос спасает, спасибо, теперь знаю как решать🥺❤️ долго пыталась понять, думала код наизусть выучить, а благодаря вам ПОНЯЛА
@user-zi8lj4bv8y2 ай бұрын
супер)
@Macintosh-bk2ur2 жыл бұрын
За 10 дней до экзамена))) Спасибо, это намного проще экселя
@user-zi8lj4bv8y2 жыл бұрын
пожалуйста, еще достаточно времени, чтобы от и до разобраться) успехов
@qwinkijut2 жыл бұрын
помоги мне с 19
@Macintosh-bk2ur2 жыл бұрын
@@user-zi8lj4bv8y Сдал на 78 баллов, 19-21 правильные, ещё раз спасибо)
@user-zi8lj4bv8y2 жыл бұрын
@@Macintosh-bk2ur супер!)
@polerren5903 ай бұрын
Дмитрий , у вас талант , редко пишу комментарии , но вам как ни кому другому не жалко , если я решу это задание , то только благодаря вам , большое вам спасибо
@user-zi8lj4bv8y3 ай бұрын
ого, спасибо, приятно) я думаю, нет повода не решить. Главное в неудачном ходе не забыть сделать any
@NastushaAir9 ай бұрын
Спасибо большое, очень помогли 🙏💕
@ОльгаТапкова2 жыл бұрын
Это лучшее видео, сколько у других разбирала, но это супер, кратко, талантливо и красиво
@user-zi8lj4bv8y2 жыл бұрын
спасибо!
@yarmukhametov2 жыл бұрын
Простой и легкий код! Спасибо вам огромное👏🔥🔥
@user-zi8lj4bv8y2 жыл бұрын
пожалуйста! успехов
@ЫбаЫгы Жыл бұрын
чел харош, думал, что не сдам ЕГЭ, но теперь буду поступать в МГУ, спасибо за видео!!!!!!!😎😎😎😎😎😎
@free_life56 Жыл бұрын
Согл полн
@user-zi8lj4bv8y Жыл бұрын
красава, чел!
@yoru_umi3 ай бұрын
спасибо большое за разбор! за день до егэ наконец то поняла как решать
@kitness822 жыл бұрын
Попробовал я порешать этим способом через 1 кучу. Поменял все значения, как нужно. Работает корректно на 1 из пунктов при должном условии задачи. Поэтому данный способ разве что на простейшие задачи при 2 кучах. Шаг влево или вправо - руками/другими способами.
@user-zi8lj4bv8y2 жыл бұрын
Здравствуйте! А не подскажите условие, в котором не получилось? Хочу посмотреть, если несложно
@climberg3 ай бұрын
немного сложновато, но попробую закрепить на практике! спасибо за такое подробное объяснение, хоть и через 4 дня экзамен, но лучше поздно, чем никогда
@user-zi8lj4bv8y3 ай бұрын
удачи!
@climberg3 ай бұрын
@@user-zi8lj4bv8y спасибо!!!
@shame3642 жыл бұрын
Жаль, что раньше на наткнулся на это видео. Хотя всë ещë есть время. Спасибо вам большое!
@user-zi8lj4bv8y2 жыл бұрын
пожалуйста! Времени у тебя более чем достаточно) Успехов на экзамене
@mezumidumpling9 ай бұрын
Следую инструкции на 10:04. Задание: найдите минимальное значение S, при котором Ваня выигрывает своим первым ходом при любой игре Пети. Вижу, что нужно найти минимальное значение. Значит, у противника будет any. Решаю таким способом, ответ неверный. А если я оставляю у противника all, ответ - верный. Почему так?
@user-zi8lj4bv8y9 ай бұрын
Ты права, но у тебя в условии есть важное дополнение, найти минимальное значение S, при ЛЮБОЙ игре Пети(на все его ходы), т.е. твой противник умный - значит all Если бы в условии просто сказали, найди минимальное значение S, когда можно выиграть, без дополнительных слов (при любом ходе противника, независимо от хода противника, имеем выигрышную стратегию), то any
@dashafire95762 жыл бұрын
Потрясающее объяснение, спасибо Вам большое!
@user-zi8lj4bv8y2 жыл бұрын
спасибо!
@dashafire95762 жыл бұрын
@@user-zi8lj4bv8y сейчас стала разбирать Ваше решение задания 21 из Демоверсии - программа выдаёт ответ 14, а согласно ответам демоверсии должно получиться 12. Возможно, где-то в коде опечатка? Подскажите, пожалуйста, как исправить программу, чтобы она работала правильно?
@user-zi8lj4bv8y2 жыл бұрын
@@dashafire9576 в 21 номере нужна обязательная проверка, запустите программу при n > 2, все остальное оставьте без изменений. На экране появится лишнее число, его надо исключить из предыдущих ответов. Там скорей всего 14 и будет лишним
@dashafire95762 жыл бұрын
@@user-zi8lj4bv8y Немного не поняла, в какой строчке программы надо поставить n > 2. Вы имеете в виду самую первую строку внутри функции (строку if a >= 29 or n > 2)? Но в ней ведь уже есть условие на n > 2
@user-zi8lj4bv8y2 жыл бұрын
@@dashafire9576 это число в условие нужно менять от задания к заданию. Оно как бы следит за тем, чтобы в игре не пошли лишние ходы. В 19 номере лишние ходы больше 2, n > 2 В 20 n > 3 В 21 n > 4 , и вот тут программу надо запустить сперва так и после этого поменять на n > 2 для проверки.
@oksanap57392 жыл бұрын
Круто, очень доступно
@maureenburnh48312 жыл бұрын
Оееекеше епаокщ
@ДашаСергеева-ф1ч2 жыл бұрын
спасибо огромное, очень понятно
@user-zi8lj4bv8y2 жыл бұрын
Супер) пожалуйста
@leerov2 жыл бұрын
очень качественное видео, спасибо вам
@valera75227 ай бұрын
задание номер 4829, сайт полякова, вопрос 3. всё банально: у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети, и у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом. найдите s def f(a, n): if a>=100 or n>4: return n==2 or n==4 m=[f(a+1, n+1), f(a+3, n+1), f(a*3, n+1)] if n%2==0: return all(m) return any(m) for s in range(1, 100): if f(s, 0): print(s) потом меняем n>4 на n>2 и избавляемся от лишних значений. при n>4 выводятся значения 29, 31, 33, при n>2 только 33. помимо того, что у нас получается два значения (29, 31), а не одно, так правильный ответ вообще 10. подскажите, пожалуйста, что не так :/
@user-zi8lj4bv8y7 ай бұрын
привет, там доп условие есть -При этом нельзя повторять ход, который только что сделал второй игрок
@valera75227 ай бұрын
@@user-zi8lj4bv8y нда. привык уже типичные задачи нарешивать, не вчитываюсь. как это условие грамотно вписать в ваш код?
@user-zi8lj4bv8y7 ай бұрын
@@valera7522 надо дополнительный аргумент завести, по которому можно будет определять ранее сделанные ходы и соответствующим образом реагировать. А далее уже формировать список допустимых ходов проверкой условий. В тг я побыстрее отвечаю, если что, там есть чат для вопросов или на основном под любым постом
@ЧелТЫ-ч7ы2 жыл бұрын
Мне нужны ещё баллы все задания обьясни
@PassiveIncome-dk3ty2 жыл бұрын
Способ пушка
@user-zi8lj4bv8y2 жыл бұрын
спасибо! надеюсь получишь 3 изи балла)
@PassiveIncome-dk3ty2 жыл бұрын
@@user-zi8lj4bv8y надеюсь
@blacksheep25343 ай бұрын
я не совсем разобрался зачем он возвращает n ==2(я понимаю ,что это проверка ,но зачем возвращает непонятно) .Код работает на 10/10 и ускоряет решение заданий раза в два
@igelsch_di4 ай бұрын
Господи, ну наконец хоть немного у меня жетончик провалился😂 Для меня до этого теория игр казалась вообще темным лесом..
@user-zi8lj4bv8y4 ай бұрын
у тебя еще много времени, чтобы все это закрепить и забрать три балла😎
@Crazy_D0c5 ай бұрын
def f(a, n): if a >= 29 or n > 2: return n == 2 or n == 4 if n % 2 == 0: return all([f(a + 1, n + 1), f(a * 2, n + 1)]) return any([f(a + 1, n + 1), f(a * 2, n + 1)]) for s in range(1, 29): if f(s, 0): print(s) # Ответ 14, а правильный 12 # 🙃
@user-zi8lj4bv8y5 ай бұрын
привет, а ты n > 2 забыл поменять на n > 4/ У тебя Ваня не успевает второй раз походить тогда 12 будет)
@Crazy_D0c5 ай бұрын
@@user-zi8lj4bv8y Да, 4 верный вариант. А как вы на 14:06 советуете и зачем? Вы же про двойку говорите, но этот ход нас не интересует. Объясните, пожалуйста.
@user-zi8lj4bv8y5 ай бұрын
@@Crazy_D0c cмотри, это уже финальная проверка для исключения лишний позиции. Тебе по заданию говорят в №21 - Ваня не должен гарантированно выйграть первым ходом. когда ты пишешь n > 4, ты находишь ответы, а n > 2 ты уже делаешь проверку и исключаешь эту лишнюю позицию.
@user-zi8lj4bv8y5 ай бұрын
@@Crazy_D0c а просто может быть такое, что тебя попросят по заданию выбрать максимальное , и при n > 4 на экране появились числа: 12 13 14 Человек не думая может выбрать число 14, но оно лишнее т.к. Ваня гарантировано при 14 выигрывал первым ходом. Вот чтобы его исключить, понимать. какое именно число, то лучше сделать проверку при n > 2
@Crazy_D0c5 ай бұрын
@@user-zi8lj4bv8y Благодарю!
@АндрейВасильков-ю6м2 жыл бұрын
Спасибо!
@gloktar5672 жыл бұрын
Даже такой Вупсень ,как я смог полностью освоить прогу за 4 часа суммарного беспрерывного просмотра видео + практики
@user-zi8lj4bv8y2 жыл бұрын
ну супер) осталось на экзамене уничтожить! успехов
@daaaaamn_boy97172 жыл бұрын
Очень интересно
@amigo99873 ай бұрын
thx
@valera75227 ай бұрын
задание номер 6770, сайт полякова. вопрос 3, условие как на 13:32, только ищем max S. моя программа выдаёт числа "20, 21, 26, 29", правильный ответ "21". не могу понять в чём ошибка def f(a, n): if a>=82 or n>4: return n==2 or n==4 m=[f(a+2, n+1), f(a+4, n+1), f(a*3, n+1)] if n%2==0: return all(m) return any(m) for s in range(1, 82): if f(s, 0): print(s)
@user-zi8lj4bv8y7 ай бұрын
Валера, привет, все правильно, ты нашел позиции, из которых можно выиграть первым или вторым ходом, НО при этом туда попали позиции, из которых выигрывают ТОЛЬКО первым ходом. Их нужно исключить, как я показывал в видео. Просто в программе поменяй n > 4 на n >2 и ты увидишь лишнии позиции (26, 27): def f(a, n): if a>=82 or n>2: return n==2 or n==4 m=[f(a+2, n+1), f(a+4, n+1), f(a*3, n+1)] if n%2==0: return all(m) return any(m) for s in range(1, 82): if f(s, 0): print(s)
@valera75227 ай бұрын
@@user-zi8lj4bv8y спасибо, понял :) можете ещё подсказать, что означает условие "Петя может выбирать, каким ходом выиграет Ваня"?
@user-zi8lj4bv8y7 ай бұрын
@@valera7522 понятия не имею 😅 вероятно, имеется ввиду, что есть такие позиции, где Петя может специально поддаться и сделать так, что Ваня победит. Типа специальный неудачный ход
@SuperMrAndrik2 жыл бұрын
Спасабосо 🔥
@thezont70456 ай бұрын
Можете объяснить почему на 12:36 мы пишем if a>=29 or n>2: ведь по сути первый ход пети(n=0 и к концу n=1), дальше вани(n=1 и к концу n=2). Я не понимаю почему мы пишем n>2, если это по сути начало второго хода Пети.
@user-zi8lj4bv8y6 ай бұрын
n - номер сделанного только что хода, n > 2 - это грубо говоря, мы позволяем Пете походить второй раз(n = 3) и определяем такой ход как лишний
@user-zi8lj4bv8y6 ай бұрын
@@thezont7045 да, это список ходов, в этом списке будет набор результатов, с которыми работаем функциями all(), any()
@wixight3 ай бұрын
Шикарное объяснение, но как быть, если последний игрок, сделавший ход проигрывает?
@user-zi8lj4bv8y3 ай бұрын
Все просто, не стоит за день до егэ забивать голову сомнительными формулировками, я бы так посоветовал поступить)
@tayagamer30059 ай бұрын
А если задание такое: найдите минимальное и максимальное значения S, при которых Ваня выигрывает своим первым или вторым ходом, *при этом для любого значения у Вани есть возможность выиграть своим первым ходом (в случае ошибки Пети)?* Я не могу понять, как записать жирную часть условия.
@user-zi8lj4bv8y9 ай бұрын
я бы это двумя запусками решал. Нашел сперва ответ на вопрос, при каких S Ваня выигрывает 1 или 2 ходом. Далее нашел бы S, при котором Ваня выйграет первым ходом в случае неудачного хода Пети И после посмотрел бы, где они пересекаются Например, если на первый вопрос ответы будут - 16, 17, 18, 19, 20 А на второй : 17, 18. 19, 21, 22, 23,24 То минимум и максимум, который есть в двух наборах - это 17 и 19
@senuaksuuu4902 Жыл бұрын
добрый день,помогите,пожалуйста, 19 получается,а дальше никак( сверяю с вашим кодом и не могу ошибку найти. вот,например,делала 20 номер с решу егэ,вот задание:Тип 20 № 27755 Добавить в вариант Сообщить об ошибке i Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч один камень или увеличить количество камней в куче в четыре раза. Например, пусть в одной куче 6 камней, а в другой 9 камней; такую позицию мы будем обозначать (6, 9). За один ход из позиции (6, 9) можно получить любую из четырёх позиций: (7, 9), (24, 9), (6, 10), (6, 36). Чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 61. Победителем считается игрок, сделавший последний ход, то есть первым получивший позицию, в которой в кучах будет 61 или больше камней. В начальный момент в первой куче было 3 камня, во второй куче - S камней, 1 ≤ S ≤ 57. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока - значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по ней игрока, которые не являются для него безусловно выигрышными, то есть не гарантируют выигрыш независимо от игры противника. Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия: - Петя не может выиграть за один ход; - Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня. Найденные значения запишите в ответе в порядке возрастания без разделительных знаков. вот,что я писала: def f(a, b, n): if a + b >=61 or n >3: return n == 3 if n % 2 == 1: return all([f(a+1,b,n+1),f(a*4,b,n+1),f(a,b+1,n+1),f(a,b*4,n+1)]) return any([f(a+1,b,n+1),f(a*2,b,n+1),f(a,b+1,n+1),f(a,b*2,n+1)]) print([s for s in range(1,57+1) if f(3,s,0)]) вроде всё также,но ничего не выдаёт,в чём ошибка?
@user-zi8lj4bv8y Жыл бұрын
Добрый день, а у вас что-то с ходами в any, будто из другого решения скопировали) делайте переменную отдельно для ходов: m =[f(a+1,b,n+1),f(a*4,b,n+1),f(a,b+1,n+1),f(a,b*4,n+1)] и потом ее передавайте в all и any if n % 2 == 1: return all(m) return any(m)
@astronaut17512 жыл бұрын
Здравствуйте ! Почему в 14:05 вы меняете n > 4 на n > 2 ведь на n > 4 выводит два значения 14 и 12 --- а на --- n > 2: выводит 14 ведь нам что нужно так и не понял , ответ будет 12 ?
@user-zi8lj4bv8y2 жыл бұрын
Здравствуйте! В номере 21 есть противное ограничение, у игрока не должно быть ГАРАНТИРОВАННОЙ победы первым ходом. Его обязательно нужно учесть Когда вы пишете условие с n > 4, в ответе могут оказаться лишние числа(иногда они совпадают с ответом на 19 номер). Повторный запуск с n > 2 позволяет определить эти лишние числа и взять оставшиеся Например, когда я запускаю с n > 4, ответ будет: 13 20 27 Далее для проверки запускаем с n > 2: 27 Значит хорошие числа только 13 и 20. Если вопрос был найти наибольшее,то ответ 20. Без проверки случайно можно взять число 27
@astronaut17512 жыл бұрын
@@user-zi8lj4bv8y Спасибо большое , а в 19:54 можно сделать покомпактнее ? например вот так вот : if a >= 65 or n > 2 : if a > 100: return False return n == 2 насколько это верно , подскажите пожалуйста , спасибо большое за ваш труд !
@user-zi8lj4bv8y2 жыл бұрын
@@astronaut1751 можно) но только в номере 19, в номерах 20-21 вместо False нужно написать n % 2 == (0 или 1) смотря какой ХОД_ПРОТИВНИКА
@thescore912 жыл бұрын
Вариант 11 из сборника Крылова 2022года. Если нужно полный текст, могу скинуть. Почему в 20-21 заданиях не получается ответ? В задании 20 ответ 35 и 70, у меня только 70. В задании 21 ответ 69, у меня 71. Скинул как делал 20 def f(a,b,n): if a+b>=144 or n>3: return n==3 if n%2==1: return all([f(a+1,b,n+1),f(a*2,b,n+1),f(a,b+1,n+1),f(a,b*2,n+1)]) return any([f(a+1,b,n+1),f(a*2,b,n+1),f(a,b+1,n+1),f(a,b*2,n+1)]) for s in range(1, 143): if f(1, s, 0): print(s) Это 21: def f(a,b,n): if a+b>=144 or n>4: return n==2 or n==4 if n%2==0: return all([f(a+1,b,n+1),f(a*2,b,n+1),f(a,b+1,n+1),f(a,b*2,n+1)]) return any([f(a+1,b,n+1),f(a*2,b,n+1),f(a,b+1,n+1),f(a,b*2,n+1)]) for s in range(1, 143): if f(1, s, 0): print(s)
@user-zi8lj4bv8y2 жыл бұрын
Внимательно почитайте, что должно быть не менее 144 камней. А так все отлично написано, только в том моменте ошибка
@thescore912 жыл бұрын
@@user-zi8lj4bv8y спасибо. Удивлён, что номер 19 у меня получился правильно с неверным условием 🤣
@thescore912 жыл бұрын
@@user-zi8lj4bv8y Блин, эти я решил. 19 и 21 следующего 12 варианта тоже, а в 20 откуда-то одно лишнее значение 23 🙈 В 13 варианте тоже в 20 номере 3 ответа пишет 12 вариант: def f(a,b,n): if a*b>=144 or n>3: return n==3 if n%2==1: return all([f(a+1,b,n+1), f(a*2,b,n+1), f(a,b+1,n+1), f(a,b*2,n+1)]) return any([f(a+1,b,n+1), f(a*2,b,n+1), f(a,b+1,n+1), f(a,b*2,n+1)]) for s in range(1,142): if f(2,s,0): print(s) Уже раз 5 проглядел код, вроде всё верно, поэтому без понятия
@user-zi8lj4bv8y2 жыл бұрын
@@thescore91 if f(2,s,0): в предпоследней строчке ошибка, внимательно посмотри, сколько камней в 1-ой куче в начале игры
@thescore912 жыл бұрын
@@user-zi8lj4bv8y "В начальный момент в первой куче было два камня"
@МаксимДураксим Жыл бұрын
Второе как раз четное число 5:15
@a7dawhb2209d2 жыл бұрын
Разберите, пожалуйста, этот алгоритм для решения заданий на одну кучу. У меня код просто выдает все значения ренджа s. (28227) def f(a, n): if a >= 52 or n > 2: return n == 2 return any([f(a+1, n+1),f(a+10, n+1)]) for s in range(1, 52): if f(s, 0): print(s)
@MrGlhf2 жыл бұрын
3 строка: return n==2
@a7dawhb2209d2 жыл бұрын
@@MrGlhf Точно, спасибо. Странно, что сам не заметил такую глупую ошибку.
@maksimlarin43022 жыл бұрын
А можно разбор на Java/Pascal?
@user-zi8lj4bv8y2 жыл бұрын
Разбор сперва планировался только для учеников, если будет еще кому-то актуально, то думаю можно будет сделать на других ЯП)
@mezumidumpling9 ай бұрын
А если условие, что кто-то проиграл? Тот, кто первый набрал >=32 камней, проиграл. Тогда данный код не подходит?
@user-zi8lj4bv8y9 ай бұрын
привет, подходит, там совсем немного условие нужно будет изменить. Если не получится - напиши, помогу
@mezumidumpling9 ай бұрын
@@user-zi8lj4bv8y поправочка: там s>=33. Так вот, я изменяла вторую строчку кода, делала *if a(от условия зависит)* Ну, по логике, теперь просто тот, у кого в куче будет *меньше* 33 камней, победит. Не получилось, код ничего не выдал. Условие такое: Петя первый, Ваня второй. Одна куча, s камней, 1
@user-zi8lj4bv8y9 ай бұрын
@@mezumidumpling, смотри, получается принцип такой же, твоя задача понять, когда в игре кто-то набирает >= 33, то есть условие if s >= 33 не меняется, только теперь тебе важно, чтобы это происходило не во время хода игрока, который должен победить, а его противника. Например, мы также проверим if s >= 33 or n > 2: return n == 2 (проверяем, что это Ваня перебрал, тогда Петя выйграл) далее как всегда, ходы и тд if n % 2 == 1: return all(...) return any(...)
@user-zi8lj4bv8y9 ай бұрын
@mezumidumpling Если не получится, попробуй так def f(s, n): if s >= 33 or n > 2: return n == 2 moves = [f(s + 1, n + 1), f(s * 3 - 1, n + 1)] if n % 2 == 1: return all(moves) return any(moves) for S in range(1, 32 + 1): if f(S, 0): print(S)
@mezumidumpling9 ай бұрын
@@user-zi8lj4bv8y огромное спасибо, с первым вопросом всё получилось, ответ правильный. Но на остальных вопросах не работает, хотя пользуюсь тем же принципом :D Допустим, "Вася гарантированно выигрывает в один ход после 2 хода Пети". То есть всего 4 хода, П-В-П-В. На 4-ом Вася выигрывает; для этого мы проверяем, что Петя набрал s>=33 на 3-ьем ходе. If a>=33 or n>3: return n==3 if n%2==0: return all(..) return any(..) Логика *та же,* но программа не работает :/
@Inanti...2 жыл бұрын
Очень крутой и простой способ, но что делать если в задании -1 и // 2? Оно не хочет решаться, скорее всего проблемы с тем, что не всегда можно //2, но куда вставлять вот такие доп проверки на возможность делить и тд?
@user-zi8lj4bv8y2 жыл бұрын
А можно полное условие? Должно решаться запросто. Если здесь не отравить, можно в телеграмм
@pryny56052 жыл бұрын
будет ли разбор 19 номера из статграда 22.02.22
@user-zi8lj4bv8y2 жыл бұрын
Да, на следующей неделе вероятно соображу
@nxzdix4 ай бұрын
здравствуйте, в 2024 году для сдачи егэ этот способен ещё актуален?
@user-zi8lj4bv8y4 ай бұрын
привет, да, конечно, это для стандартной теории игр
@varvarapro7839 Жыл бұрын
9:14 помогите я не могу понять вот это, когда any, a когда all.... Не могу понять 10000 раз пересмотрела этот момент
@user-zi8lj4bv8y Жыл бұрын
Привет! А здесь прям подробно это и не объяснялось, видео как краткая методичка. Ты можешь просто запомнить, что в if пишется all, вне пишется any. Кроме ситуации, когда противник сделал НЕУДАЧНЫЙ ход, в таком случае в обоих местах будет any() А так смысл всего этого, проверить ВСЕ ходы противника и убедиться, что на ВСЕ его ходы можно найти ХОТЯ БЫ ОДИН ответ. Поэтому ходы противника мы помещаем в all(), а игрока, который должен победить в any(). Условие if n % 2 == ..., как раз проверяет чей сейчас БЫЛ ход, для того чтобы правильно понять, чей будет следующий. Т.е. если БЫЛ ход Вани, то БУДЕТ ход Пети. Тогда на месте ..., мы пишем остаток связанный с игроком, который должен победить, чтобы после его хода - направить противника в all() и проверить все его ответы. Например, если должен победить Ваня, у тебя будет написано: if n % 2 == 0: #проверяем что был Ваня(четн) return all(...) return any(...) Вообще легко делать проверку у тебя проверка на четность в этом условии должна совпадать с четностью чисел наверху. Если в начале программы стоит return n == 3, то и в if будешь проверять нечетность n % 2 == 1. Если n == 2, то в if проверишь n %2 == 0
@varvarapro7839 Жыл бұрын
@@user-zi8lj4bv8y спасибо большое, вроде поняла)) Нужно только закрепить нарешиванием этих задач
@user-zi8lj4bv8y Жыл бұрын
@@varvarapro7839 да, т.к. они с высокой вероятностью останутся шаблонными
@ЛеонидПроценко2 жыл бұрын
Я так понимаю, что , когда с условием и двумя кучами нужно в начале писать так: ( на Кполякове №4734 про Витю и Пашу) def f(a, b, n): if a + b >= 47: if a + b
@user-zi8lj4bv8y2 жыл бұрын
Да, так нужно делать когда есть ограничение и по максимальной границе. Добавьте в первое условие or n > 4. И из полученных ответов исключите ответы для or n > 2. Найденное количество и будет ответом(я пояснял эту проверку, нужно исключить стратегии, где Ваня гарантированно выигрывает)
@ЛеонидПроценко2 жыл бұрын
@@user-zi8lj4bv8y Большое спасибо!
@vihapp4634 Жыл бұрын
Здравствуйте встретила такое условие, что камней больше 10. s>10 Т.е лимит мы не знаем как тогда быть? В начальный момент в первой куче было 18 камней, во второй куче - S камней, S > 12.
@user-zi8lj4bv8y Жыл бұрын
Здравствуйте! Давайте разберемся, сможете в телеграмме скинуть скрин задания?
@vihapp4634 Жыл бұрын
@@user-zi8lj4bv8y Конечно! Можно ваш тг?
@user-zi8lj4bv8y Жыл бұрын
@@vihapp4634 @pda028
@user-zi8lj4bv8y Жыл бұрын
Разобрались, в ближайшие дни открою текстовый канал на дискорд сервере, задавайте вопросы туда
@vihapp4634 Жыл бұрын
Здравствуйте ещё раз! Встретила задания про цепочки Укажите, у кого есть выигрышная стратегия при исходном наборе слов {АБВГДАБВГДХ, ДГВБАДГВБА}. Если у нас не цифры, а буквы(цепочки) как решать в такое случае, могли бы помочь?
@user-n-x6l2 жыл бұрын
Как быть если ход нельзя повторять, как в задании статграда за 08.02.22? Спасибо
@user-zi8lj4bv8y2 жыл бұрын
Я в cледующем видео ответил на этот вопрос. Такой подход можно будет использовать при любых ограничениях
@кабан-ф4ц4 ай бұрын
а вот такой вопрос, а если ходы не должны повторяться как адаптировать программу
@user-zi8lj4bv8y4 ай бұрын
проще всего через добавление дополнительного параметра, который будет отвечать за сделанные ходы и потом на основании этого параметра, ты будешь понимать какой ход сделал противник или ты сам ранее
@felixmarlboro7808 Жыл бұрын
9:13 14:30
@user-zi8lj4bv8y Жыл бұрын
мм?
@felixmarlboro7808 Жыл бұрын
@@user-zi8lj4bv8y для себя отметил
@user-zi8lj4bv8y Жыл бұрын
@@felixmarlboro7808 а, читер! Успехов на экзамене)
@felixmarlboro7808 Жыл бұрын
@@user-zi8lj4bv8y спасибо большое
@firesteel13132 жыл бұрын
Не совсем понимаю кого вы имеете в виду под противником, если в условии у нас только Петя и Ваня. Слова "противник" даже в условии нет. У нас просто 2 игрока имеются и по ним строятся случаи.
@user-zi8lj4bv8y2 жыл бұрын
Это уже от конкретного вопроса зависит, в номерах 19 и 21 обычно под противником имеется ввиду - Петя В 20 - Ваня
@lovxxs Жыл бұрын
а с возведением в квадрат как работать? я пишу a * a или a ** 2, и программа не работает
@user-zi8lj4bv8y Жыл бұрын
должно работать, скиньте в тг программу, в другом проблема думаю
@lovxxs Жыл бұрын
@@user-zi8lj4bv8y а тг такое же, как и в описании?
@user-zi8lj4bv8y Жыл бұрын
@@lovxxs да, либо на канале с задачами t.me/harnish_inf_ege под любым постом напишите условие, я отвечу сегодня
@slain1gg2 жыл бұрын
Если вы не понимаете как адаптировать задание по эксель, значит плохо пытались. Решать игры нужно уметь всеми способами, чтобы можно было себя перепроверить. Поэтому я сочувствую вам, если вы не умеете решать игры а Экселе
@taynori78182 жыл бұрын
Чел, это программа, которая выдаст тебе ответ за 5 минут, причем шанс ошибки и человеческого фактора буквально в пяти позициях. В экселе же в 21 задании таблица не помещается на экран и шанс ошибки там куда выше, чем с этими пятью позициями
@user-zi8lj4bv8y2 жыл бұрын
а кто сказал, что я чего-то не понимаю? Перепроверять себя всеми способами, это сколько времени нужно отдать, 15-20 минут? Достаточно написать программу и перепроверить себя руками. Если у вас получается решать экселем - супер. Но рекомендовать его как основной способ решения - никогда не буду
@slammmedd2 ай бұрын
практически ни черта не понял. то ли я тупой, то ли задача мудрёное недоразумение
@user-zi8lj4bv8y2 ай бұрын
попробуй посмотреть другое объяснение🤔 их много на ютубе
@lewnd2 жыл бұрын
не понял только когда использовать any а когда использовать all?
@user-zi8lj4bv8y2 жыл бұрын
почти всегда будет так if ... return all([...]) return any ([...]) когда был неудачных ход, то везде any
@lewnd2 жыл бұрын
@@user-zi8lj4bv8y понял
@МаксимЧ-у1ъ2 жыл бұрын
я один ничего не понял... any all что это такое
@user-zi8lj4bv8y2 жыл бұрын
Если вы сдаете на python - почитайте в интернете, как работают эти функции. Конкретно в данном номере мы их используем так: any - ищем хотя бы один выигрышный ход игрока, если такой ход найдется - значит стратегия для нас выигрышная all - на все ходы противника, если хотя бы один False - стратегия проигрышная через any ходит игрок, который должен победить по условию, через all - противник. Ход игрока, сделавшего последний ход проверяется в if через остаток
@МаксимЧ-у1ъ2 жыл бұрын
@@user-zi8lj4bv8y Спасибо я разобрался с кодом, просто не знал "Трехместное выражение if/else" сейчас разбираюсь в коде, КЛассно придумано! Долго создавали алгоритм?
@user-zi8lj4bv8y2 жыл бұрын
@@МаксимЧ-у1ъ недолго) как сразу компьютерный егэ появился, немного адаптировал его только в процессе работы с учениками. Это базовый алгоритм через рекурсию, думаю, если полазить в интернетах, то много у кого будет похожий подход
@frame12562 жыл бұрын
за день наботаю ?
@user-zi8lj4bv8y2 жыл бұрын
вполне реально)
@frame12562 жыл бұрын
@@user-zi8lj4bv8y Хорошо, буду отписываться с каждым результатом) Мне вот было бы интересно посмотреть у вас программки для 16 и 23 задания
@h3nkyy2 жыл бұрын
Не понятный видос от слова совсем. Народ не забивайте мозги такими объяснениями. Эти номера руками в два счёта делать.
@user-zi8lj4bv8y2 жыл бұрын
Спасибо за мнение. Такими объяснениями люди забивают себе мозги и стабильно решают задание на три балла, а делать "перебор руками в два счета", учитывая сколько времени вы на это потеряете, крайне сомнительная затея. Для перепроверки - если только. Ну и плюс человеческий фактор никто не отменял при ручном анализе. Успехов на экзамене
@user-zi8lj4bv8y2 жыл бұрын
Ну и в любом случае, если я для вас непонятно объяснил, найдите другой способ, но на пк. Зачем рисковать на экзамене? Лучше значения из автоматизированного решения уже проверить руками
@NastushaAir9 ай бұрын
Спасибо большое, очень помогли 🙏💕
@user-zi8lj4bv8y9 ай бұрын
круто, рад, что помогло) есть еще бесплатные занятия, если будет актуально, то посмотри в тг