// UUID: 005c6092-b312-4c20-8185-f5258ae953b2
#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> g(16);
bool done[16];
int e = 0;
vector<int> ans = {0};
void dfs(int u, int r) {
done[u] = true;
for (int v : g[u]) {
if (!done[v]) {
int k = (r ^ (1 << e));
ans.push_back(k);
e ++;
dfs(v, k);
}
}
return;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
for (int i = 0; i < n; i ++) {
int u, v;
cin >> u >> v;
g[u].push_back(v),
g[v].push_back(u);
}
dfs(0, 0);
cout << (1 << (n - 1)) << "\n";
for (int i = 0; i < (1 << n); i ++) {
bitset<16> bs(i);
if (bs.count() % 2 == 0) {
for (int c : ans) {
cout << (c ^ i) << " ";
}
cout << "\n";
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |