Submission #1143226

#TimeUsernameProblemLanguageResultExecution timeMemory
1143226Gtudor새로운 문제 (POI13_spa)C++20
12 / 100
236 ms162312 KiB
#include <iostream>

#define int long long

using namespace std;

string s;
int n, x, y;

bool viz[4194305];

int transformToInt() {
  int nr = 0;
  for(int i = 0; i < s.size(); i++) {
    nr = nr * 2 + (s[i] - '0') ;
  }
  return nr;
}

void dfs(int nod) {
  viz[nod] = 1;
  if ( viz[y] == 1)
    return;
  for(int i = 0; i < n; i++) {
    int vecin = (nod ^ (1<<i));
    if(viz[vecin] == 0) {
      dfs(vecin);
    }
  }
}

signed main() {
  int m, k, z;
  cin>>n>>m;
  cin>>s;
  x = transformToInt();
  cin>>s;
  y = transformToInt();
  if(x == y) {
    cout<<"TAK";
    return 0;
  }
  for(int i = 1; i <= m; i++) {
    cin>>s;
    z = transformToInt();
    viz[z] = 1;
  }
  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...