G. Strange Nim Game solution code
G. Strange Nim Game solution code In Python3 language π import sys MOD = 10 ** 9 + 7 def main (): sys.setrecursionlimit( 1 << 25 ) max_x = 200000 grundy = [ 0 ] * (max_x + 1 ) for x in range ( 1 , max_x + 1 ): digits = set () tmp = x while tmp > 0 : d = tmp % 10 if d != 0 : digits.add(d) tmp = tmp // 10 s = set () for d in digits: if x >= d: s.add(grundy[x - d]) mex = 0 while mex in s: mex += 1 grundy[x] = mex max_pow = 2 * 10 ** 5 + 30 pow2 = [ 1 ] * (max_pow + 1 ) for i in range ( 1 , max_pow + 1 ): pow2[i] = (pow2[i- 1 ] * 2 ) % MOD class SegmentTreeNode : def __init__ ( self, l, r ): self.l = l self.r = r self.left = None self.right = None self.basis = [ 0 ] * 30 ...