Войти
или
Зарегистрироваться
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Статья Автор:
Гаспарян Аркадий
ИГРОВАЯ СТРАТЕГИЯ
def pi(pos): #pi от слова периферия return {pos+1, pos+5, pos*2} # <------ здесь можно менять def step(s, x, t): #поиск результата такта t y = set() #результат работы for pos in s: #перебор игровых точек и поиск результата в зависимости от такта работы if (t%2 == 1) and (pi(pos) & x) or (t%2==0) and (pi(pos) <= x): y.add(pos) return y swin = int(input()) #параметры игры g = set([i for i in range(1, swin)]) #множество стартовых точек k = 2 #на что нужно умножить <----- здесь можно менять lw = {1: set([i for i in range(swin, k*swin)]), 0: set()} #словарь исходов print(pi(swin-1)) t = 0 #инициализация такта while t<6: #просмотр 6 тактов работы t+=1 #переход к новому такту r = step(g, lw[t%2], t) #получение результата работы g = g-r #уменьшение множества g lw[(t+1)%2] = lw[(t+1)%2].union(r) #перенос результатов в финальные множества print('R{} = '.format(t),sorted(r)) #вывод результатов
×
#Код для двух куч камней def pi(pos): x, y = pos return {(x+1, y), (x, y+1), (x*2, y), (x, y*2)} #операции <------ здесь можно менять def step(s, x, t): y = set() for p in s: if (t%2==1) and (pi(p) & x): y.add(p) if (t%2==0) and (pi(p) <= x): y.add(p) return y swin, aa = map(int, input().split()) #условие окончания игры, количество камней из условия задачи (не менее aa камней) #print(swin) k = 2 #на сколько надо умножить <------ здесь можно менять G = set([(x, y) for x in range(1, swin) for y in range(1, swin-x)]) #нераскрашенные точки L = set([(x, y) for x in range(1, k*swin) for y in range(1, k*swin-x)]) #куда надо ходить L = L-G W = set() #куда вынуждены ходить start = set([(x, y) for x in range(aa, aa+1) for y in range(1, swin-x)]) LW = {0: W, 1: L} t = 0 while t<6: t+=1 R = step(G, LW[t%2], t) G = G-R LW[(t+1)%2] = LW[(t+1)%2].union(R) print(t, len(R), sorted(R&start)[:10]) #Примечание к заданию 19: находим наименьшее четное значение из первой строки и делим его на 2. Это и есть ответ к этому заданию.
×
Чтобы оставить комментарий нужна авторизация
Печать