Submission #1318957

#TimeUsernameProblemLanguageResultExecution timeMemory
1318957muhammad-ahmadNorela (info1cup18_norela)C++20
75 / 100
1050 ms444 KiB
// #include <bits/stdc++.h> #include <iostream> #include <cmath> #include <algorithm> #include <map> #include <vector> #include <iomanip> #include <string> #include <queue> #include <set> #include <deque> #include <numeric> #include <stack> #include <chrono> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; void fast_io() { // freopen("", "r", stdin); // freopen("", "w", stdout); ios::sync_with_stdio(0); cin.tie(); cout.tie(); cout << setprecision(9); } #define int long long #define endl '\n' #define all(v) (v).begin(), (v).end() #define rall(v) (v).rbegin(), (v).rend() #define fi first #define se second #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> bool lex(vector<int> &a, vector<int> &b){ if (a.size() < b.size()) return 1; else if (a.size() > b.size()) return 0; int n = a.size(); for (int i = 0; i < n; i++){ if (a[i] < b[i]) return 1; if (b[i] < a[i]) return 0; } return 1; } void solve() { int n, m; cin >> n >> m; int a[m] = {}; for (int i = 0; i < m; i++){ int s; cin >> s; while (s--){ int x; cin >> x; x--; a[i] += (1ll << x); } } vector<int> ans; for (int i = 0; i <= m; i++) ans.push_back(m); for (int i = 0; i < (1ll << m); i++){ int cur = 0; vector<int> T; for (int j = 0; j < m; j++){ if (((i >> j) & 1)){ T.push_back(j); cur ^= a[j]; } } if (cur == ((1ll << n) - 1) && lex(T, ans)) swap(T, ans); } cout << ans.size() << endl; for (auto i : ans) cout << i + 1 << ' '; cout << endl; // for (auto i : a) cout << i << ' '; // cout << endl; } signed main() { fast_io(); srand(chrono::steady_clock::now().time_since_epoch().count()); int tc = 1; // cin >> tc; while (tc--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...