#include <bits/stdc++.h>
#define int long long int
using namespace std;
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, m;
cin >> n >> m;
vector<vector<int>> v(m);
for (int i = 0; i < m; ++i) {
int q;
cin >> q;
for (int j = 0; j < q; ++j) {
int x;
cin >> x;
v[i].push_back(x - 1);
}
}
vector<int> mxv;
int a = 1LL << m,mn=m+1;
for (int i = 0; i < a; ++i) {
vector<int> v2(n, 0);
vector<int> ind;
int cnt = 0;
for (int j = 0; j < m; ++j) {
if ((i >> j) & 1) {
ind.push_back(j + 1);
cnt++;
for (int x : v[j]) {
v2[x]++;
}
}
}
bool b = true;
for (int k = 0; k < n; ++k) {
if (v2[k] % 2 == 0) {
b = false;
break;
}
}
if (b) {
if (cnt < mn) {
mn = cnt;
mxv = ind;
} else if (cnt == mn) {
if (mxv.empty() || ind < mxv) {
mxv = ind;
}
}
}
}
cout << mn << "\n";
int r=mxv.size() - 1;
for (int i = 0; i <= r; ++i) {
cout << mxv[i];
if (i < r) {
cout<<" ";
}
}
cout << endl;
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... |