# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1143191 | asaass | Walk (POI13_spa) | C++20 | 0 ms | 0 KiB |
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
typedef long long ll;
int n,m,i,j,k,l,a,b;char x[1<<24],w;
void red(int &x)
{
x=0;
for(int i=0;i<n;i++){cin>>w,x=x*2+(w=='1')};
}
void df(int v)
{
x[v]=2;
for(int i=0;i<n;i++)
if(x[v^(1<<i)]==0)
df(v^(1<<i));
}
int main()
{
cin>>n>>m;
red(a),red(b);
//cout<<a<<' '<<b;
for(j=0;j<m;j++)
red(k),x[k]=1;
x[a]=2;
df(a);
if(x[b]==2)
cout<<"TAK";
else cout<<"NIE";
}