#include <bits/stdc++.h>
using namespace std;
constexpr int maxn = 400007;
vector<bitset<50007>> A;
int n,m,q, t1, t2,t3;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin>>n>>m>>q;
bitset<50007> empt{0};
for(int i = 0; i <= n + m + 4; i++){
A.push_back(empt);
}
for(int i = 1; i <= n; i++){
for(int j = 0; j <= n; j += i){
//cerr<<"j "<<j<<endl;
A[i][j] = 1;
}
A[i][0] = 0;
}
// m = 0;
for(int i = n+1; i <= m+n; i++){
cin>>t1>>t2;
// cerr<<t1<<endl;
if(t1 != 3){
cin>>t3;
}
if(t1 == 1){
A[i] = (A[t2] | A[t3]);
}else if(t1 == 2){
A[i] = (A[t2] & A[t3]);
}else{
A[i] = (~A[t2]);
}
// cerr<<i<<endl;
}
//q = 0;
for(int i = 0; i < q; i++){
cin>>t1>>t2;
if(A[t1][t2]){
cout<<"TAK\n";
}else{
cout<<"NIE\n";
}
}
return 0;
}
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include <bits/stdc++.h> using namespace std; constexpr int maxn = 400007; vector<bitset<50007>> A; int n,m,q, t1, t2,t3; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>m>>q; bitset<50007> empt{0}; for(int i = 0; i <= n + m + 4; i++){ A.push_back(empt); } for(int i = 1; i <= n; i++){ for(int j = 0; j <= n; j += i){ //cerr<<"j "<<j<<endl; A[i][j] = 1; } A[i][0] = 0; } // m = 0; for(int i = n+1; i <= m+n; i++){ cin>>t1>>t2; // cerr<<t1<<endl; if(t1 != 3){ cin>>t3; } if(t1 == 1){ A[i] = (A[t2] | A[t3]); }else if(t1 == 2){ A[i] = (A[t2] & A[t3]); }else{ A[i] = (~A[t2]); } // cerr<<i<<endl; } //q = 0; for(int i = 0; i < q; i++){ cin>>t1>>t2; if(A[t1][t2]){ cout<<"TAK\n"; }else{ cout<<"NIE\n"; } } return 0; } |
English