プログラミング備忘録

日頃のプログラミングの成果をここに書いていきます.

C - 高橋くんのバグ探し 〜ABC015〜

問題

C - 高橋くんのバグ探し

Accepted Program

#include <iostream>
#include <vector>

using namespace std;

int dp[5][5];

int main () {
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      cin >> dp[i][j];  
    }  
  }
  vector<int> ans;
  for (int i = 0; i < m; i++) {
    ans.push_back(dp[0][i]);  
  }
  int num = 1;
  while (num < n) {
    vector<int> sub;
    for (int i = 0; i < ans.size(); i++) {
      for (int j = 0; j < m; j++) {
        sub.push_back(ans[i] ^ dp[num][j]);    
      }  
    }    
    ans = sub;
    num++;
  }
  for (int i = 0; i < ans.size(); i++) {
    if (ans[i] == 0) {
      cout << "Found" << endl;
      break;  
    }
    if (i == ans.size() - 1) {
      cout << "Nothing" << endl;  
    }
  }
}