日々精進

aikoと旅行とプログラミング

【AOJ 2399】Save Your Privacy!

問題

Save Your Privacy! | Aizu Online Judge

ソースコード

#include <cstring>
#include <iostream>

using namespace std;

#define rep(i,n) for(int i = 1 ; i <= n ; i++)

int main(){
  int n;
  bool data[101][101];
  bool ans[101];

  while(cin >> n, n){
    memset(data, false, sizeof(data));
    memset(ans, false, sizeof(ans));

    rep(i,n){
      int m, p;
      cin >> m;
      rep(j, m){
        cin >> p;
        data[i][p]=true;
      }
    }

    int k, l[101];
    cin >> k;
    rep(j, k){
      cin >> l[j];
    }
    
    int criminal = -1, cnt=0;
    rep(j,n){
      bool flag = true;
      rep(a,k){
        if(data[j][l[a]] == false) flag = false;
      }
      if(flag){
        cnt++;
        criminal = j;
      }
    }

    if(cnt==1) cout << criminal << '\n'; 
    else cout << -1 << '\n';
  }

}