Submission #1143328

#TimeUsernameProblemLanguageResultExecution timeMemory
1143328elisaipateWalk (POI13_spa)C++20
24 / 100
483 ms182500 KiB
#include <iostream> using namespace std; const int nmax = 1e7; bool viz[nmax]; int n; int tr( string s ) { int p2 = 1, rez = 0; for( int i = n - 1; i >= 0; i-- ) { rez = rez + p2 * (s[i] - '0'); p2 *= 2; } return rez; } void bfs( int vf ) { viz[vf] = true; int p2 = 1; for( int i = 0; i < n; i++ ) { if( (vf / p2) % 2 == 0 ) { if( viz[vf + p2] == false ) bfs( vf + p2 ); } else { if( viz[vf - p2] == false ) bfs( vf - p2 ); } p2 *= 2; } } signed main() { int k, a; cin >> n >> k; int x, y; string s; cin >> s; x = tr(s); cin >> s; y = tr(s); if( x == y ) { cout << "TAK"; return 0; } for( int i = 0; i < k; i++ ) { cin >> s; a = tr(s); viz[a] = true; //cout << v[i] << " "; } //cout << "\n"; bfs( x ); if( viz[y] == true ) 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...