#Author: Bartek Knapik n, m, q = (int(el) for el in input().split()) sets = [set() for _ in range(n+m+1)] for i in range(1, n+1): for j in range(1, n+1): if i * j > n: break sets[i].add(i*j) for i in range(m): cmd = [int(el) for el in input().split()] if len(cmd) == 2: sets[i+n+1] = sets[1] - sets[cmd[1]] else: if cmd[0] == 1: sets[i+n+1] = sets[cmd[1]] | sets[cmd[2]] else: sets[i+n+1] = sets[cmd[1]] & sets[cmd[2]] for i in range(q): x, v = (int(el) for el in input().split()) if v in sets[x]: print("TAK") else: print("NIE")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #Author: Bartek Knapik n, m, q = (int(el) for el in input().split()) sets = [set() for _ in range(n+m+1)] for i in range(1, n+1): for j in range(1, n+1): if i * j > n: break sets[i].add(i*j) for i in range(m): cmd = [int(el) for el in input().split()] if len(cmd) == 2: sets[i+n+1] = sets[1] - sets[cmd[1]] else: if cmd[0] == 1: sets[i+n+1] = sets[cmd[1]] | sets[cmd[2]] else: sets[i+n+1] = sets[cmd[1]] & sets[cmd[2]] for i in range(q): x, v = (int(el) for el in input().split()) if v in sets[x]: print("TAK") else: print("NIE") |