Submission #1137062

#TimeUsernameProblemLanguageResultExecution timeMemory
1137062HasanV11010238Norela (info1cup18_norela)C++20
0 / 100
14 ms328 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);
    }
    int ti = (1<<m);
    ll ans = 0, no = 10000, goal = (1LL<<n) - 1;
    for (int i = 0; i < ti; i++){
        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){
                for (int j = 0; j < m; j++){
                    va = i & (1<<j), va2 = ans & (1<<j);
                    if (va != 0 && va2 == 0){
                        ans = i;
                        no = cnt;
                        break;
                    }
                }
            }
        }
    }
    cout<<no<<"\n";
    for (int i = 0; i < m; i++){
        va = ans & (1<<i);
        if (va != 0) cout<<i + 1<<" ";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...