Submission #95968

#TimeUsernameProblemLanguageResultExecution timeMemory
95968alextodoranNorela (info1cup18_norela)C++14
100 / 100
132 ms376 KiB
#include <bits/stdc++.h> #define MM 26 #define ll long long using namespace std; int n, m; ll spell[MM]; vector <int> ans; vector <int> v; int mi = -1; void bk(int pos, ll mk) { if(pos == m + 1) { if(mk == (1LL << n) - 1) if(v.size() <= mi || mi == -1) { mi = v.size(); ans = v; } return; } bk(pos + 1, mk); v.push_back(pos); bk(pos + 1, mk ^ spell[pos]); v.pop_back(); } int main() { cin >> n >> m; for(int i = 1; i <= m; i++) { int l; cin >> l; for(int j = 1; j <= l; j++) { int e; cin >> e; spell[i] |= (1LL << (e - 1)); } } bk(1, 0); cout << mi << "\n"; for(auto i : ans) cout << i << " "; cout << "\n"; return 0; }

Compilation message (stderr)

norela.cpp: In function 'void bk(int, long long int)':
norela.cpp:23:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             if(v.size() <= mi || mi == -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...