제출 #1168053

#제출 시각아이디문제언어결과실행 시간메모리
1168053KaleemRazaSyed새로운 문제 (POI13_spa)C++20
0 / 100
77 ms2116 KiB
#include<bits/stdc++.h>

using namespace std;

#define int long long

int read()
{
  string s;
  cin >> s;
  int res = 0;
  for(char c : s)
    res <<= 1, res += c - '0';
  return res;
}

signed main()
{
  int n, k;
  cin >> n >> k;
  int x = read(), y = read();
  int a[k];
  for(int i = 0; i < k; i ++)
    a[i] = read();

  bool poss = true;

  int C[n + 1][n + 1];
  for(int i = 1; i <= n; i ++)
    {
      C[i][i] = C[i][0] = 1;
      for(int j = 1; j < i; j++)
	C[i][j] = C[i - 1][j] + C[i - 1][j - 1];
    }

  int cnt[n + 1] = {};
  for(int i = 0; i < k; i ++)
    cnt[__builtin_popcount(x ^ a[i])]++;

  for(int i = 0; i <= n; i ++)
    if(cnt[i] == C[n][i])
      poss = false;
  
  
  cout << (poss ? "TAK" : "NIE") << endl;
  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...