На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение





Сообщение: 21
ссылка на сообщение  Отправлено: 18.02.24 19:38. Заголовок: Задача №6103 (А. Богданов)


Добрый вечер, решала задачу, но получаются лишние ответы в 21 задаче. Правильные ответы в этой задаче: 7 и 19.
А у меня получаются ответы: 5, 7, 19, 21.

(№ 6103) (А. Богданов) Два игрока, Петя и Ваня, играют в следующую игру.
Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя.
За один ход игрок может добавить в меньшую кучу один или три камня.
Изменять количество камней в большей куче не разрешается. Игра завершается, когда
количество камней в кучах становится равным
Победителем считается игрок, сделавший последний ход, то есть первым сравнявшим
количество камней в двух кучах. Игроки играют рационально, т. е. без ошибок.
В начальный момент в первой куче было 13 камней,а во второй – S камней, 1 ≤ S ≤ 23.
Ответьте на следующие вопросы:
Вопрос 3.
Найдите два значения S, при которых одновременно выполняются три условия:
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом
при любой игре Пети;
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом;
– Петя может выбирать, каким ходом выиграет Ваня.
Найденные значения запишите в ответе в порядке возрастания.


Помогите, пожалуйста, понять почему.
... 
def f(s1, s2, step, win_steps):
if s1 == s2:
return step in win_steps
if step == max(win_steps):
return 0
if s1 < s2:
wins_pos = [f(s1 + 1, s2, step + 1, win_steps), f(s1 + 3, s2, step + 1, win_steps)]
else:
wins_pos = [f(s1, s2 + 1, step + 1, win_steps), f(s1, s2 + 3, step + 1, win_steps)]
if step % 2 != max(win_steps) % 2: # ходит тот игрок, чья победа нужна
return any(wins_pos)
else:
return all(wins_pos)

s1 = 13
print('* * * Задача 21 * * *')
for s2 in range(1, 23 + 1):
if f(s1, s2, 0, [2]) == 0 and f(s1, s2, 0, [2, 4]) == 1 and f(s1, s2, 0, [1, 3]) == 0:
print(s2)


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 1 [только новые]







Сообщение: 254
ссылка на сообщение  Отправлено: 19.02.24 10:57. Заголовок: Петя может выбирать,..



 цитата:
Петя может выбирать, каким ходом выиграет Ваня.


Это значит, что при неудачном ходе Пети, Ваня выиграет первым ходом.
это позиции
(13, 7), (13, 9), (13, 11), (13, 13), (13, 15), (13, 17), (13, 19)
Значит, выбирать надо из них. А тут только 7 и 19 подходят из ваших (5, 7, 19, 21.)

Спасибо: 1 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1826
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет