제출 #1143294

#제출 시각아이디문제언어결과실행 시간메모리
1143294LucaIlie새로운 문제 (POI13_spa)C++20
12 / 100
181 ms60912 KiB
#include <bits/stdc++.h> using namespace std; const int MAX_N = 22; int n; bool vis[1 << MAX_N]; void dfs( int x ) { vis[x] = true; for ( int b = 0; b < n; b++ ) { int y = (x ^ (1 << b)); if ( !vis[y] ) dfs( y ); } } int convertString( string a ) { int x = 0; for ( int i = 0; i < a.size(); i++ ) { int b = a[i] - '0'; x += (b << i); } return x; } int main() { int k, x, y; string a, b; cin >> n >> k >> a >> b; x = convertString( a ); y = convertString( b ); for ( int i = 0; i < k; i++ ) { cin >> a; vis[convertString( a )] = true; } if ( vis[x] || vis[y] ) { cout << "NIE\n"; return 0; } dfs( x ); if ( vis[y] ) cout << "TAK\n"; else cout << "NIE\n"; 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...