제출 #1329798

#제출 시각아이디문제언어결과실행 시간메모리
1329798secondaccountmaybeHiperkocka (COCI21_hiperkocka)C++20
110 / 110
55 ms12848 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
void f()
{
	ll n;
	cin>>n;
	vector<vector<ll>>e(n+1);
	for(ll i=0;i<n;i++)
	{
		ll x,y;
		cin>>x>>y;
		e[x].push_back(y);
		e[y].push_back(x);
	}
	vector<ll>o(n+1,-1),p(n+1);
	ll t=0;
	queue<ll>q;
	q.push(0);
	o[0]=t++;
	while(!q.empty())
	{
		ll x=q.front();
		q.pop();
		for(ll y:e[x])
		{
			if(o[y]!=-1)
			{
				continue;
			}
			o[y]=t++;
			p[o[y]]=o[x];
			q.push(y);
		}
	}
	vector<vector<ll>>s={{0,1}};
	for(ll i=1;i<n;i++)
	{
		ll k=s.size();
		for(ll j=0;j<k;j++)
		{
			s.push_back(s[j]);
			for(ll &x:s.back())
			{
				x^=1^(1LL<<i);
			}
		}
		for(auto &v:s)
		{
			v.push_back(v[p[i+1]]^(1LL<<i));
		}
	}
	cout<<s.size()<<endl;
	for(auto &v:s)
	{
		for(ll i=0;i<=n;i++)
		{
			cout<<v[o[i]]<<" ";
		}
		cout<<endl;
	}
}
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	f();
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...