n,m,v = map(int, input().split()) mset = [ set() for i in range(n+m+1) ] full = set() for i in range(1,n+1): full.add(i) for i in range(1,n+1): for ind in range(i,n+1,i): mset[i].add(ind) for i in range(m): ll = list(map(int, input().split())) if ll[0] == 1: mset[n+i+1] = mset[ll[1]] | mset[ll[2]] if ll[0] == 2: mset[n+i+1] = mset[ll[1]] & mset[ll[2]] if ll[0] == 3: mset[n+i+1] = full - mset[ll[1]] for _ in range(v): zb, war = map(int, input().split()) if war in mset[zb]: 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 | n,m,v = map(int, input().split()) mset = [ set() for i in range(n+m+1) ] full = set() for i in range(1,n+1): full.add(i) for i in range(1,n+1): for ind in range(i,n+1,i): mset[i].add(ind) for i in range(m): ll = list(map(int, input().split())) if ll[0] == 1: mset[n+i+1] = mset[ll[1]] | mset[ll[2]] if ll[0] == 2: mset[n+i+1] = mset[ll[1]] & mset[ll[2]] if ll[0] == 3: mset[n+i+1] = full - mset[ll[1]] for _ in range(v): zb, war = map(int, input().split()) if war in mset[zb]: print("TAK") else: print("NIE") |