Submission #1270480

#TimeUsernameProblemLanguageResultExecution timeMemory
1270480algoproclubHiperkocka (COCI21_hiperkocka)C++20
110 / 110
59 ms3656 KiB
// UUID: 8d29f0fc-dee5-4097-b7fc-531bf2b2d2a7
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> G;
int n;
vector<int> ans;

void dfs(int v, int p){
    for(int x : G[v]){
        if(x == p) continue;
        ans[x] = ans[v] ^ (1 << (x-1));
        dfs(x, v);
    }
}

void kiir(int i){
    ans.assign(n+1, 0);
    ans[0] = i;
    dfs(0, 0);
    for(int x : ans) cout << x << " ";
    cout << "\n";
}

int main() {
	cin >> n;
    G.resize(n+1);
    for(int i=0; i<n; i++){
        int a, b; cin >> a >> b;
        G[a].push_back(b);
        G[b].push_back(a);
    }

    cout << (1 << (n-1)) << endl;

    for(int i=0; i<(1 << n); i++){
        if(__builtin_popcount(i) % 2 == 0){
            kiir(i);
        }
    }



}
#Verdict Execution timeMemoryGrader output
Fetching results...