Submission #1137070

#TimeUsernameProblemLanguageResultExecution timeMemory
1137070HasanV11010238Norela (info1cup18_norela)C++20
100 / 100
485 ms412 KiB
#include <bits/stdc++.h> #define ll long long #define MAX 1000000 using namespace std; int main(){ ll n, m, c, a, va, va2; cin>>n>>m; vector<ll> q; for (int i = 0; i < m; i++){ cin>>c; va = 0; for (int j = 0; j < c; j++){ cin>>a; va = (va ^ (1LL<<(a - 1))); } q.push_back(va); } reverse(q.begin(), q.end()); int ti = (1<<m); ll ans = -1, no = 10000, goal = (1LL<<n) - 1; for (int i = ti - 1; i >= 0; i--){ if (__builtin_popcount(i) >= no) continue; ll res = 0, cnt = 0; for (int j = 0; j < m; j++){ va = i & (1<<j); if (va != 0){ res ^= q[j]; cnt++; } } if (res == goal){ if (cnt < no){ ans = i; no = cnt; } } } cout<<no<<"\n"; for (int i = m - 1; i >= 0; i--){ va = ans & (1<<i); if (va != 0) cout<<m - i<<" "; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...