题目链接:https://codeforces.com/contest/1166/problem/E
题解:
代码:
#include<bits/stdc++.h>
using namespace std;
const int maxm = 55;
set<int>st[maxm];
bool insect(int x, int y){
set<int>::iterator it;
for(it = st[x].begin(); it != st[x].end(); it++){
if(st[y].count(*it)) return true;
}
return false;
}
int main(){
int m, n;
cin >> m >> n;
for(int i = 0; i < m; i++){
int s, a;
cin >> s;
while(s--){
cin >> a;
st[i].insert(a);
}
}
bool flag = true;
for(int i = 0; i < m; i++){
for(int j = 0; j < m; j++){
if(i == j) continue;
if(!insect(i, j)){
flag = false;
break;
}
}
}
if(flag) cout << "possible\n";
else cout << "impossible\n";
return 0;
}