Submission #1143201

#TimeUsernameProblemLanguageResultExecution timeMemory
1143201armin2006Walk (POI13_spa)C++20
24 / 100
182 ms62748 KiB
#include <iostream> using namespace std; const int NMAX = 22; const int KMAX = (1 << NMAX) - 1; int viz[(1 << NMAX) + 54]; int n; void dfs(int node) { viz[node] = 1; for (int i = 0; i < n; ++i) { if (viz[node ^ (1 << i)] == 0) dfs(node ^ (1 << i)); } } int main() { int k, i; string a, b; cin >> n >> k; cin >> a >> b; int x, y; x = y = 0; for (i = 0; i < n; ++i) { x = 2 * x + (a[i] - '0'); y = 2 * y + (b[i] - '0'); } for (i = 0; i < k; ++i) { cin >> a; int z = 0; for (int j = 0; j < n; ++j) z = 2 * z + (a[j] - '0'); viz[z] = 2; } if (x == y) { cout << "TAK"; return 0; } dfs(x); if (viz[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...