#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... |