#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,m;
vector<int> a(3005,0);
int mn=LLONG_MAX;
vector<int> ans,cur;
void find(int x,int p) {
if(x==m) {
if(p==pow(2,n)-1&&(int)cur.size()<=mn) {
mn=cur.size();
ans=cur;
}
return;
}
find(x+1,p);
cur.push_back(x);
find(x+1,p^a[x]);
cur.pop_back();
}
signed main() {
std::ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin>>n>>m;
a.resize(m);
for(int i=0; i<m; i++) {
int x; cin>>x;
for(int j=0; j<x; j++) {
int g; cin>>g;
a[i]|=(int)pow(2,g-1);
}
}
find(0,0);
cout<<mn<<"\n";
for(int x:ans) cout<<x+1<<" ";
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |