제출 #960986

#제출 시각아이디문제언어결과실행 시간메모리
960986PetyHiperkocka (COCI21_hiperkocka)C++14
110 / 110
45 ms3716 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
const int N = 1e6+2;
const int mod = 1e9 + 7;

int n;
vector<pair<int, int>>G[20];
int ans[20];

void dfs (int nod, int val, int par) {
  ans[nod] = val;
  for (auto it : G[nod]) {
    if (it.first == par) continue;
    dfs(it.first, val ^ (1 << it.second), nod);
  }
}

int main () 
{
  ios_base::sync_with_stdio(false);
  cin.tie(0); cout.tie(0);
  cin >> n;
  for (int i = 0; i < n; i++) {
    int x, y;
    cin >> x >> y;
    G[x].push_back({y, i});
    G[y].push_back({x, i});
  }
  dfs(0, 0, 0);
  cout << (1 << (n - 1)) << "\n";
  for (int i = 0; i < (1 << n); i++)
    if (__builtin_popcount(i) % 2 == 0) {
      for (int j = 0; j <= n; j++)
        cout << (i ^ ans[j]) << " ";
      cout << "\n";
    }
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...