Submission #1143149

#TimeUsernameProblemLanguageResultExecution timeMemory
1143149bogdanpetrescu2006Walk (POI13_spa)C++20
24 / 100
165 ms185088 KiB
#include <bits/stdc++.h> using namespace std; const int MAX_N = 60; const int MAX_K = 1000000; int n, k; int st, crt, dr; bool vizited[10000000], blocked[10000000]; string start, finish, mask; int string2nr(string &s){ int val = 0; for(int i=0; i < (int)s.size(); i++) if(s[i] == '1') val += (1<<i); return val; } void dfs(int crt){ vizited[crt] = true; if(crt == dr){ cout<<"TAK"; exit(0); } for(int i=0; i < n; i++) if(vizited[(crt ^ (1 << i))] == false && blocked[(crt ^ (1 << i))] == false) dfs((crt ^ (1 << i))); } int main (){ ios_base::sync_with_stdio(false); cin.tie(nullptr), cout.tie(nullptr); cin>>n>>k; cin>>start; st = string2nr(start); cin>>finish; dr = string2nr(finish); for(int i=1; i<=k; i++){ cin>>mask; crt = string2nr(mask); blocked[crt] = true; } dfs(st); 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...