import sys
lines = sys.stdin.read().splitlines()
lines = [list(map(int, line.split())) for line in lines]
n, m, q = lines[0]
sets = [];
initialSet = set(range(1, n + 1))
sets.append(initialSet)
for i in range(2, n + 1):
sets.append(set(range(i, n + 1, i)))
for i in range(1,m+1):
if lines[i][0] == 1:
sets.append(sets[lines[i][1]-1] | sets[lines[i][2]-1])
elif lines[i][0] == 2:
sets.append(sets[lines[i][1]-1] & sets[lines[i][2]-1])
else:
sets.append(initialSet.difference(sets[lines[i][1]-1]))
for i in range(m+1,len(lines)):
if lines[i][1] in sets[lines[i][0] - 1]:
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 | import sys lines = sys.stdin.read().splitlines() lines = [list(map(int, line.split())) for line in lines] n, m, q = lines[0] sets = []; initialSet = set(range(1, n + 1)) sets.append(initialSet) for i in range(2, n + 1): sets.append(set(range(i, n + 1, i))) for i in range(1,m+1): if lines[i][0] == 1: sets.append(sets[lines[i][1]-1] | sets[lines[i][2]-1]) elif lines[i][0] == 2: sets.append(sets[lines[i][1]-1] & sets[lines[i][2]-1]) else: sets.append(initialSet.difference(sets[lines[i][1]-1])) for i in range(m+1,len(lines)): if lines[i][1] in sets[lines[i][0] - 1]: print("TAK") else: print("NIE") |
English