import sys # Wczytywanie danych n, m, q = map(int, sys.stdin.readline().split()) # Inicjalizacja zbiorów podstawowych A1, ..., An A = [set() for _ in range(n + m + 1)] for i in range(1, n + 1): for j in range(i, n + 1, i): A[i].add(j) # Obsługa operacji for i in range(n + 1, n + m + 1): line = list(map(int, sys.stdin.readline().split())) if line[0] == 1: # Suma A[i] = A[line[1]] | A[line[2]] elif line[0] == 2: # Przecięcie A[i] = A[line[1]] & A[line[2]] elif line[0] == 3: # Negacja A[i] = set(range(1, n + 1)) - A[line[1]] # Obsługa zapytań output = [] for _ in range(q): x, v = map(int, sys.stdin.readline().split()) output.append("TAK" if v in A[x] else "NIE") # Wypisanie odpowiedzi sys.stdout.write("\n".join(output) + "\n")
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 29 | import sys # Wczytywanie danych n, m, q = map(int, sys.stdin.readline().split()) # Inicjalizacja zbiorów podstawowych A1, ..., An A = [set() for _ in range(n + m + 1)] for i in range(1, n + 1): for j in range(i, n + 1, i): A[i].add(j) # Obsługa operacji for i in range(n + 1, n + m + 1): line = list(map(int, sys.stdin.readline().split())) if line[0] == 1: # Suma A[i] = A[line[1]] | A[line[2]] elif line[0] == 2: # Przecięcie A[i] = A[line[1]] & A[line[2]] elif line[0] == 3: # Negacja A[i] = set(range(1, n + 1)) - A[line[1]] # Obsługa zapytań output = [] for _ in range(q): x, v = map(int, sys.stdin.readline().split()) output.append("TAK" if v in A[x] else "NIE") # Wypisanie odpowiedzi sys.stdout.write("\n".join(output) + "\n") |