#include <bits/stdc++.h>
using namespace std;
#define int long long
//her ceviz yuvarlaktır ama her yuvarlak ceviz değildir...
vector<vector<bool>>a;
int n;
int m;
vector<int>mn;
int mnsz=1e9+5;
void f(vector<int>suan,int i,vector<bool>b) {
if(i+1>m)return;
vector<int>v=suan;
vector<bool>c=b;
if(count(b.begin(),b.end(),0)==0){
if(suan.size()<=mnsz){
if((suan.size()<mnsz)||(suan.size()==mnsz&&suan<mn)){
mnsz=suan.size();
mn=suan;
return;
}
}
}
for(int j=0;j<n;j++) {
b[j]=b[j]^a[i][j];
}
v.push_back(i+1);
if(v.size()<=mnsz)f(v,i+1,b);
f(suan,i+1,c);
}
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>n>>m;
vector<bool>bas(n,0);
vector<int>bombos;
a.resize(m,vector<bool>(n));
for(int i=0;i<m;i++) {
int k;
cin>>k;
a[i].resize(k);
for(int j=0;j<k;j++) {
int x;
cin>>x;
x--;
a[i][x]=1;
}
}
f(bombos,0,bas);
cout<<mnsz<<endl;
for(int i=0;i<mnsz;i++){
cout<<mn[i]<<" ";
}
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... |