Submission #1143335

#TimeUsernameProblemLanguageResultExecution timeMemory
1143335Luca7Walk (POI13_spa)C++20
24 / 100
5095 ms327680 KiB
#include<iostream> #include<vector> #include<string> #include<algorithm> #include<queue> using namespace std; #define ll int // ifstream cin("data.in"); // ofstream cout("data.out"); vector<ll> vpow; vector<int> visited; ll snr(int n,string s){ ll x=0; for(ll i=0;i<n;i++){ x+=(s[i]-'0')*((ll)1<<(n-i-1)); } return x; } queue<int> q; int main(){ ll n,k,i,j,x=0,y=0; string s; cin>>n>>k; cin>>s; x=snr(n,s); cin>>s; y=snr(n,s); visited.resize((1<<n)+20,0); for(i=0;i<k;i++){ cin>>s; visited[snr(n,s)]=-1; } q.push(x); visited[x]=1; while(!q.empty()){ if(visited[y]==1){ cout<<"TAK"; return 0; } ll p=q.front(); q.pop(); for(int i=0;i<n;i++){ ll p1; if(p&(1<<(i))){ p1=p-(1<<(i)); } else{ p1=p+(1<<(i)); } if(visited[p1]==0){ visited[p1]=1; if(visited[y]==1){ cout<<"TAK"; return 0; } q.push(p1); } } } if(visited[y]==1){ cout<<"TAK"; } else{ cout<<"NIE"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...