#include <bits/stdc++.h>
using namespace std;
vector<bitset<50000>> tab;
void fastscan(int &n){
n=0;
for(char c=getchar();c>47 && c<58;c=getchar()){
n=10*n+c-48;
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n,m,q;
fastscan(n);
fastscan(m);
fastscan(q);
tab.resize(n+m);
for (int i = 1; i<=n; i++){
for (int j = i; j<=n; j+=i){
tab[i-1][j-1]=1;
}
}
for (int i = n,a,b,c; i<n+m; i++){
fastscan(c);
fastscan(a);
if (c<3)fastscan(b);
if (c==1)tab[i]=(tab[a-1]|tab[b-1]);
else if (c==2)tab[i]=(tab[a-1]&tab[b-1]);
else tab[i]=(~tab[a-1]);
}
for (int i = 1,a,b; i<=q; i++){
fastscan(a);
fastscan(b);
if (tab[a-1][b-1])cout << "TAK\n";
else cout << "NIE\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 30 31 32 33 34 35 36 37 38 39 40 41 | #include <bits/stdc++.h> using namespace std; vector<bitset<50000>> tab; void fastscan(int &n){ n=0; for(char c=getchar();c>47 && c<58;c=getchar()){ n=10*n+c-48; } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n,m,q; fastscan(n); fastscan(m); fastscan(q); tab.resize(n+m); for (int i = 1; i<=n; i++){ for (int j = i; j<=n; j+=i){ tab[i-1][j-1]=1; } } for (int i = n,a,b,c; i<n+m; i++){ fastscan(c); fastscan(a); if (c<3)fastscan(b); if (c==1)tab[i]=(tab[a-1]|tab[b-1]); else if (c==2)tab[i]=(tab[a-1]&tab[b-1]); else tab[i]=(~tab[a-1]); } for (int i = 1,a,b; i<=q; i++){ fastscan(a); fastscan(b); if (tab[a-1][b-1])cout << "TAK\n"; else cout << "NIE\n"; } } |
English