제출 #1270795

#제출 시각아이디문제언어결과실행 시간메모리
1270795algoproclubHiperkocka (COCI21_hiperkocka)C++20
110 / 110
34 ms3656 KiB
// UUID: 485b5e14-45b7-43b9-a48d-0f1f0cbde855 #include <bits/stdc++.h> using namespace std; int t = 0; void dfs(int i, int last, vector<vector<int>> &e, vector<int> &ans) { for (int j : e[i]) { if (j == last) continue; ans[j] = ans[i] ^ (1 << t); t++; dfs(j, i, e, ans); } } int main() { int n; cin >> n; vector<vector<int>> e(n + 1); for (int i = 0; i < n; i++) { int a, b; cin >> a >> b; e[a].push_back(b); e[b].push_back(a); } vector<int> ans(n + 1); dfs(0, -1, e, ans); cout << (1 << n) / 2 << "\n"; for (int i = 0; i < (1 << n); i++) { int cnt = 0; for (int j = 0; j < n; j++) cnt += (i >> j) & 1; if (cnt % 2) { for (int j : ans) cout << (j ^ i) << " "; cout << "\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...