Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # def f(x, y):
- # if x > y:
- # return 0
- # if x == y:
- # return 1
- # if x < y:
- # return f(x + 1, y) + f(x * 2, y) + f(x * 2 + 1, y)
- #
- #
- # print(f(2, 16))
- # def f(x, y):
- # if x > y or x == 8:
- # return 0
- # if x == y:
- # return 1
- # if x < y:
- # return f(x + 1, y) + f(x * 2, y)
- #
- #
- # print(f(2, 20) * f(20, 40))
- # def f(x, y, cntr):
- # if x > y or cntr > 6:
- # return 0
- # if x == y and cntr <= 6:
- # return 1
- # if x < y:
- # return f(x + 1, y, cntr + 1) + f(x + 2, y, cntr + 1) + f(x * 2, y, cntr + 1)
- #
- # print(f(1, 20, 0))
- #
- # from functools import lru_cache
- # @lru_cache(None)
- # def f(x, k):
- # global kmin
- # if x == 227:
- # if k < kmin:
- # kmin = k
- # if x * 3 <= 227:
- # f(x * 3, k + 1)
- # if x + 5 <= 227:
- # f(x + 5, k + 1)
- # if x + 1 <= 227:
- # f(x + 1, k + 1)
- #
- #
- # kmin = 10000
- # f(1, 0)
- # print(kmin)
- # from functools import lru_cache
- # @lru_cache(None)
- # def f(x, k):
- # global kmin
- # if x == 227:
- # if k < kmin:
- # kmin = k
- # if x + 1 <= 227:
- # f(x + 1, k + 1)
- # if x + 5 <= 227:
- # f(x + 5, k + 1)
- # if x * 3 <= 227:
- # f(x * 3, k + 1)
- #
- #
- # kmin = 10 ** 100
- # f(1, 0)
- # print(kmin)
- # def f(x, y, cntr):
- # if x > y or cntr > 6:
- # return 0
- # if x == y and cntr <= 6:
- # return 1
- # if x < y:
- # return f(x + 1, y,cntr + 1) + f(x + 2, y, cntr + 1) + f(x * 2, y, cntr + 1)
- #
- # a = []
- # for i in range(34, 60):
- # if f(1, i, 0) > 0:
- # a.append(f(1, i, 0))
- # print(a)
- # print(len(a))
- # def f(x, y):
- # global cntr
- # if x == y:
- # cntr += 1
- # if x + 1 <= y:
- # f(x + 1, y)
- # if 10 <= x < 90:
- # f(x + 10, y)
- #
- # cntr = 0
- # f(10, 33)
- # print(cntr)
- # def f(x, y, k):
- # if x > y or k > 7:
- # return 0
- # if x == y and k == 7:
- # return 1
- # if x < y:
- # return f(x + 1, y, k + 1) + f(x + 2, y, k + 1) + f(x + 3, y, k + 1)
- #
- # print(f(3, 22, 0))
- # def f(x, y, k):
- # if x > y or k >= 9:
- # return 0
- # if x == y and k <= 8:
- # return 1
- # if x < y:
- # return f(x + 1, y, k + 1) + f(x + 5, y, k + 1) + f(x * 3, y, k + 1)
- #
- # ans = []
- # for i in range(1000, 1025):
- # if f(1, i, 0) > 0:
- # ans.append(f(1, i, 0))
- # print(ans)
- # from functools import lru_cache
- # import sys
- #
- # sys.setrecursionlimit(10000)
- #
- #
- # @lru_cache(None)
- # def f(x, y, k):
- # if x > y:
- # return 0
- # if x == y:
- # return 1
- # if x < y:
- # return f(x + 2, y, k + 1) + f(x + 4, y, k + 1) + f(x + 5, y, k + 1)
- #
- #
- # for i in range(32, 100):
- # print(f(31, i, 0), i)
- # from functools import lru_cache
- # @lru_cache(None)
- # def f(x, y):
- # if x > y or x == 12:
- # return 0
- # if x == y:
- # return 1
- # if x < y:
- # last = x
- # return f(x + 1, y) + f(x * 2, y)
- #
- #
- # print(f(3, 18) * f(18, 55))
- # def f(x, y, k):
- # if x > y or k > 6:
- # return 0
- # if x == y:
- # if k == 6:
- # return 1
- # k += 1
- # return f(x + 1, y, k) + f(x + 2, y, k) + f(x * 2, y, k)
- #
- # print(f(1, 20, 0))
- # with open('3-3.txt') as file:
- # s = file.readline()
- # c = 0
- # for i in range(len(s) - 5):
- # h = s[i] + s[i + 1] + s[i + 2] + s[i + 3] + s[i + 4] + s[i + 5]
- # if 'CAB' in h and h != 'CABDEF':
- # c += 1
- # print(c)
- # s = s.replace('CABDEF', ' ')
- # c1, c2, c3 = 0, 0, 0
- # for i in range(len(s) - 2):
- # if s[i] + s[i + 1] + s[i + 2] == 'CAB':
- # c1 += 1
- # for i in range(1, len(s) - 2):
- # if s[i] + s[i + 1] + s[i + 2] == 'CAB':
- # c2 += 1
- # for i in range(2, len(s) - 2):
- # if s[i] + s[i + 1] + s[i + 2] == 'CAB':
- # c3 += 1
- # print(max(c1, c2, c3))
- # print(c1, c2, c3)
- # print(s.count('CAB'))
- #
- # with open('3-3 (2).txt') as file:
- # s = file.readline()
- # k = 0
- # for i in range(len(s) - 9): #10
- # if s[i] == 'B' and s[i + 9] == 'D':
- # k += 1
- # for i in range(len(s) - 10):#11
- # if s[i] == 'B' and s[i + 10] == 'D':
- # k += 1
- # for i in range(len(s) - 11): #12
- # if s[i] == 'B' and s[i + 11] == 'D':
- # k += 1
- # print(k)
- # with open('P1 (1).txt') as file:
- # s = file.readline()
- # ans = []
- # str_ = s[0]
- # for i in range(len(s) - 1):
- # if s[i] == s[i + 1]:
- # str_ += s[i + 1]
- # else:
- # ans.append(str_)
- # str_ = s[i + 1]
- # ans = [c for c in ans if len(c) == 7]
- # print(ans)
- # with open('P4 (1).txt') as file:
- # s = file.readline()
- # c = 1
- # max_c = -10 ** 10
- # for i in range(len(s) - 1):
- # if s[i] > s[i + 1]:
- # c += 1
- # max_c = max(max_c, c)
- # else:
- # c = 1
- # print(max_c)
- #
- # with open('P5 (2).txt') as file:
- # s = file.readline()
- # char = s[0]
- # c = 1
- # ans = []
- # for i in range(len(s) - 1):
- # if s[i] > s[i + 1]:
- # c += 1
- # char += s[i + 1]
- # else:
- # c = 1
- # ans.append(char)
- # char = s[i + 1]
- # ans.sort(key=len)
- # print(ans)
- # s = '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'
- # print(len(s))
- # with open('P6.txt') as file:
- # s = file.readline()
- # print(s.count('BOSS') - (s.count('BOSSJ') + s.count('JBOSS') - s.count('JBOSSJ')))
- # with open('P7.txt') as file:
- # s = file.readline()
- # ans = []
- # sub = s[0]
- # s = s.strip()
- # for i in range(len(s) - 1):
- # if int(s[i]) % 2 == 0 and int(s[i + 1]) % 2 == 0:
- # sub += s[i + 1]
- # elif int(s[i]) % 2 == 1 and int(s[i + 1]) % 2 == 1:
- # sub += s[i + 1]
- # else:
- # ans.append(sub)
- # sub = s[i + 1]
- # ans.sort(key=len)
- # print(ans)
- # s = '066468464080080240'
- # print(len(s))
- with open('24_2.txt') as file:
- s = file.readline()
- # s = s.replace('ad', 'a d')
- # s = s.strip()
- # print(max(len(c) for c in s.split()))
- # ans = []
- # sub = s[0]
- # for i in range(len(s) - 1):
- # if s[i] + s[i + 1] != 'ad' and s[i] + s[i + 1] != 'da':
- # sub += s[i + 1]
- # else:
- # ans.append(sub)
- # sub = s[i + 1]
- # print(max(len(c) for c in ans))
- # with open('24_4.txt') as file:
- # s = file.readline()
- # s = s.replace('NPO', '*').replace('PNO', '*')
- # s = s.replace('N', ' ').replace('P', ' ').replace('O', ' ')
- # print(s)
- #
- # s = s.strip()
- # print(max(len(c) for c in s.split()))
- # with open('24_7600.txt') as file:
- # s = file.readline()
- # combinations = []
- # for q in 'QRS':
- # for y in 'QRS':
- # combinations.append(q + y)
- # max_ans = 0
- # c = 1
- # for i in range(len(s) - 1):
- # if (s[i] + s[i + 1]) not in combinations:
- # c += 1
- # max_ans = max(max_ans, c)
- # else:
- # c = 1
- # print(max_ans)
- # with open('24_7624.txt') as file:
- # s = file.readline()
- # comb = []
- # for x in "XYZ":
- # for y in "XYZ":
- # comb.append(x + y)
- # c = 1
- # max_ans = 0
- # print(comb)
- # for i in range(len(s) - 1):
- # if s[i] + s[i + 1] not in comb:
- # c += 1
- # max_ans = max(max_ans, c)
- # else:
- # c = 1
- # print(max_ans)
- from functools import lru_cache
- @lru_cache(None)
- def moves(h):
- return h + 1, h + 4, h * 3
- @lru_cache(None)
- def game(h):
- if h>=43:
- return 'W'
- if any(game(m) == 'W' for m in moves(h)):
- return 'P1'
- if all(game(m) == 'P1' for m in moves(h)):
- return 'B1'
- if any(game(m) == 'B1' for m in moves(h)):
- return 'P2'
- if all(game(m) == 'P2' or game(m) == 'P1' for m in moves(h)):
- return 'B2'
- for i in range(1, 43):
- if game(i) == 'B2':
- print(i, game(i))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement