#include <bits/stdc++.h>
using namespace std;
int n,m,en_az;
vector<vector<int>> buyu;
vector<int> cozum;
void dfs(int idx, bitset<24> &kart, vector<int> &secilen){
if(secilen.size()>=en_az) return;
if(idx==m){
if(kart.all()){
en_az=secilen.size();
cozum=secilen;
}
return;
}
dfs(idx+1,kart,secilen);
for(int c:buyu[idx]) kart.flip(c);
secilen.push_back(idx+1);
dfs(idx+1,kart,secilen);
secilen.pop_back();
for(int c:buyu[idx]) kart.flip(c);
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin>>n>>m;
buyu.resize(m);
for(int i=0;i<m;i++){
int k;cin>>k;
buyu[i].resize(k);
for(int j=0;j<k;j++){
cin>>buyu[i][j];
buyu[i][j]--;
}
}
bitset<24> kart;
en_az=m+1;
vector<int> secilen;
dfs(0,kart,secilen);
cout<<en_az<<"\n";
for(int i=0;i<cozum.size();i++){
if(i) cout<<" ";
cout<<cozum[i];
}
cout<<"\n";
}
| # | 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... |