Submission #1143336

#TimeUsernameProblemLanguageResultExecution timeMemory
1143336lucamiscociWalk (POI13_spa)C++20
12 / 100
100 ms5956 KiB
#include <iostream> using namespace std; int n, k; int marked[1000001]; int val[1000001]; int a, b; int conversion (string &s){ int output = 0; int length = s.size(); for (int 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 (int 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; string step; string start , finish; cin >> start; a = conversion(start); cin >> finish; b = conversion(finish); for (int i = 0; i < k; i++){ cin >> step; int 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...