Submission #1143285

#TimeUsernameProblemLanguageResultExecution timeMemory
1143285lucamiscociWalk (POI13_spa)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; const int nmax = 60; const int kmax = 1e6; int n, k; int marked[nmax + 1]; int val[kmax + 1]; int a, b; int conversion (string &s){ int output; for (int i = 0; i < s.size(); i++){ if (s[i] == '1') output += (1 << i); } return output; } ofstream fout ("walk.out"); void dfs (int node){ marked[node] = true; if (node == b){ fout << "TAK"; exit(0); } for (int i = 0; i < n; i++){ if (marked[node ^ (1 << i)] == false) if (val[node ^ (1 << i)] == false) dfs (node ^ (1 << i)); } } int main(){ ifstream fin ("walk.in"); fin >> n >> k; string step; string start , finish; fin >> start; a = conversion(start); fin >> finish; b = conversion(finish); for (int i = 0; i < k; i++){ fin >> step; int mask = conversion (step); val[mask] = true; } dfs (a); fout << "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...