#include <bits/stdc++.h>
using namespace std;
const int nmax=5000005;
unordered_map<string,int>viz;
queue<string>q;
char sp(char c)
{
if(c=='1')return '0';
return '1';
}
int main()
{
cin.tie(0);
int n,m;
string x,y,s;
cin>>n>>m>>x>>y;
if(x==y)
{
cout<<"TAK";
return 0;
}
for(int i=0;i<m;i++)
{
cin>>s;
viz[s]=1;
}
q.push(x);
viz[x]=1;
while(!q.empty())
{
s=q.front();
q.pop();
if(s==y)
{
cout<<"TAK";
return 0;
}
for(int i=0;i<s.size();i++)
{
string cp=s;
cp[i]=sp(s[i]);
if(!viz[cp])
{
viz[cp]=1;
q.push(cp);
}
}
}
cout<<"NIE";
return 0;
}
/*
4 6
0000 1011
0110
0111
0011
1101
1010
1001
*/
# | 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... |