Submission #1049377

#TimeUsernameProblemLanguageResultExecution timeMemory
1049377vjudge1Make them Meet (EGOI24_makethemmeet)C++17
70 / 100
4 ms600 KiB
#include <bits/stdc++.h>

using namespace std;

#define ar array
#define int long long
#define ld long double

#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")

const int N = 200;
const int X = N * N;
const int K = 500;
const int MOD = 1e9 + 7;

const int LOG = 21;
const int INF = 1e17;

vector<int> g[N];

int col[2][N];
int c[2];

void dfs(int x,int p, bool t, bool b){
	if(b){
		if(t){
			col[0][x] = !col[0][p];
			col[1][x] = col[1][p];
		}else{
			col[0][x] = col[0][p];
			col[1][x] = !col[1][p];
		}
	}
	
	
	
	for(auto u: g[x]){
		if(u ==p)continue;
		dfs(u, x, t ^ 1, 1);
	}
}

signed main(){ios::sync_with_stdio(false);cin.tie(0);	
	int n, m;
	cin>>n>>m;
	
	if(m == n - 1){
		for(int i = 1;i < n;i++){
			int u, v;
			cin>>u>>v;
			g[u].push_back(v);
			g[v].push_back(u);
		}
		for(int i = 0;i < n;i++){
			if(g[i].size() == 1){
				col[0][i] = col[0][g[i][i]] = col[1][i] = col[1][g[i][i]] = 0;
				dfs(g[i][0], i, 1, 0);
				break;
			}
		}
		cout<<4 * n<<endl;
		for(int j = 0;j < 4 * n;j++){
			for(int i = 0;i < n;i++)cout<<col[j % 2][i]<<" ";
			cout<<endl;
		}
	}else{
		cout<<4 * n<<endl;
		for(int j = 0;j < 4 * n;j++){
			for(int i = 0;i < n;i++)cout<< ((i + j % 2) / 2)<<" ";
			cout<<endl;
		}
	}
	
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...