Submission #1271950

#TimeUsernameProblemLanguageResultExecution timeMemory
1271950algoproclubHiperkocka (COCI21_hiperkocka)C++20
0 / 110
1 ms336 KiB
// UUID: 6566b848-6fa6-473d-b71c-742f24a9ca4d
#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> g(17);
bool done[17];
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<17> bs(i);
		if (bs.count() % 2 == 0) {
			for (int c : ans) {
				cout << (c ^ i) << " ";
			}
			cout << "\n";
		}
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...