Cod sursa(job #333707)

Utilizator cotofanaCotofana Cristian cotofana Data 23 iulie 2009 16:23:03
Problema Oras Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#define MAXN 201

using namespace std;

int n, m[MAXN][MAXN];

void solve(int k) {
	if (k==6) {
		//solve
		return ;
	}
	if (k==1) return ;
	
	int i;
	
	solve(k-2);
	
	//nodes 1->n-2
	for (i=1; i<=k-2; ++i) {
		m[i][k-1]=1;
		m[i][k]=0;
	}
	
	//node n-1
	for (i=1; i<k; ++i) m[k-1][i]=0;
	m[k-1][k]=1;
	
	//node n
	for (i=1; i<k-1; ++i) m[k][i]=1;
	m[k][k-1]=m[k][k]=0;
}

int main() {
	int i, j;
	freopen("oras.in", "r", stdin);
	freopen("oras.out", "w", stdout);
	
	scanf("%d\n", &n);
	
	if (n==4) {
		printf("-1\n");
		return 0;
	}
	solve(n);
	
	for (i=1; i<=n; ++i) {
		for (j=1; j<=n; ++j) printf("%d", m[i][j]);
		printf("\n");
	}
	
	return 0;
}