Submission #1143346

#TimeUsernameProblemLanguageResultExecution timeMemory
1143346lucamiscociWalk (POI13_spa)C++20
0 / 100
5096 ms4416 KiB
#include <iostream> using namespace std; int n, k; int marked[1000001]; int val[1000001]; int a, b; string step; string start , finish; int i, mask; int conversion (string &s){ int output = 0; int length = s.size(); for (i = 0; i < length; i++){ if (s[i] == '1') output += (1 << i); } return output; } void dfs (int node){ marked[node] = true; if (node == b){ cout << "TAK"; exit(0); } for (i = 0; i < n; i++){ if (marked[node ^ (1 << i)] == false && val[node ^ (1 << i)] == false) dfs (node ^ (1 << i)); } } int main(){ cin >> n >> k; cin >> start; a = conversion(start); cin >> finish; b = conversion(finish); for (i = 0; i < k; i++){ cin >> step; mask = conversion (step); val[mask] = true; } dfs (a); 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...