#include <bits/stdc++.h>
using namespace std;
#define append push_back
#define int long long
const int N=3e6+10,LG=21;
int mod=1e9+7;
void solve(int tst){
int n,k;
cin>>n>>k;
if(n>40){
cout<<"TAK"<<endl;return;
}
map<string,bool>fa,fb;
string a,b;
map<string,bool>bad;
cin>>a>>b;
while(k--){
string s;
cin>>s;
bad[s]=1;
}
deque<string>x,y;
x={a};y={b};
while(x.size() or y.size()){
if(x.size()){
string s=x.front();
x.pop_front();
string t=s;
for(int j=0;j<n;j++){
t[j]=(1-(t[j]-'0'))+'0';
if(!bad[t] and !fa[t]) {
x.append(t),fa[t]=1;
if(fb[t]) {
cout<<"TAK"<<endl;return;
}
}
t[j]=(1-(t[j]-'0'))+'0';
}
}
if(y.size()){
string s=y.front();
y.pop_front();
string t=s;
for(int j=0;j<n;j++){
t[j]=(1-(t[j]-'0'))+'0';
if(!bad[t] and !fb[t]) {
y.append(t),fb[t]=1;
if(fa[t]){
cout<<"TAK"<<endl;return;
}
}
t[j]=(1-(t[j]-'0'))+'0';
}
}
}
cout<<"NIE"<<endl;
}
signed main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int t = 1;
// cin >> t;
for(int i=1;i<=t;i++){
solve(i);
// if(i!=t) cout<<endl;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |