Форум » Теория игр » 6768 не верный ответ » Ответить

6768 не верный ответ

Ельцова: Здравствуйте, на мой взгляд у всех трех ответ неверный. Вот, например, 14 никак не может быть выигрышем для Вани после любого хода Пети: 14 - Петя сходит +1 и получит 15, а Ваня даже если умножит на 3, то получит лишь 45, а значит, не выиграет... Как вариант решение кодом [pre2] def f(s,x): if s>=59 and x==2: return 1 if s>=59 and not(x==2): return 0 if s<=59 and (x==1): return f(s+1,x+1) or f(s+4,x+1) or f(s*3,x+1) if s<=59 and (x==0): return f(s+1,x+1) and f(s+4,x+1) and f(s*3,x+1) for s in range(1,59): if f(s,0)==1: print(s) [/pre2]

Ответов - 3

mila08: Здравствуйте! У меня тоже не получаются такие ответы. Ответы 19)19, 20)15,18 21) 14

Галанин АВ: поддерживаю

Ж: не поддерживаю. У меня сошелся ответ. #19 - надо найти минимальное значение - ответ 19 (19--> 20 --> 60) [pre2] def f(n): return n+1, n+4,n*3 gp = {c for c in range(150)} sp={c for c in gp if c in range(1,59)} wp={c for c in gp if c>=59} lp=set() v={c for c in gp if any(t in wp for t in f(c))}; sp -= v; gp -= v; lp |= v v={c for c in sp if all(t in lp for t in f(c))};print(sorted(v)) ; sp -= v; gp -= v; wp |= v [/pre2] #20 - надо найти 2 минимальных значения - ответ 15 (15 --> 19 --> (20,23,57)--> (60,66,171) ответ 18 (18 --> 19 --> (20,23,57)--> (60,66,171) [pre2] def f(n): return n+1, n+4,n*3 gp = {c for c in range(150)} sp={c for c in gp if c in range(1,59)} wp={c for c in gp if c>=59} lp=set() v={c for c in gp if any(t in wp for t in f(c))}; sp -= v; gp -= v; lp |= v v={c for c in gp if all(t in lp for t in f(c))};print(sorted(v)) ; sp -= v; gp -= v; wp |= v v={c for c in sp if any(t in wp for t in f(c))};print(sorted(v)) ; sp -= v; gp -= v; lp |= v [/pre2] #21 - надо найти минимальное значение - ответ 14 (14--> (15,18,42) --> (19,19,126) --> ((20,23,60), (20,23,60), уже выиграл) [pre2] def f(n): return n+1, n+4,n*3 gp = {c for c in range(150)} sp={c for c in gp if c in range(1,59)} wp={c for c in gp if c>=59} lp=set() v={c for c in gp if any(t in wp for t in f(c))}; sp -= v; gp -= v; lp |= v v={c for c in gp if all(t in lp for t in f(c))};print(sorted(v)) ; sp -= v; gp -= v; wp |= v v={c for c in gp if any(t in wp for t in f(c))};print(sorted(v)) ; sp -= v; gp -= v; lp |= v v={c for c in sp if all(t in lp for t in f(c))};print(sorted(v)) ; sp -= v; gp -= v; wp |= v [/pre2]




полная версия страницы