Cod sursa(job #713652)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 14 martie 2012 20:19:13
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<stdio.h>

#define maxn 205

FILE*f=fopen("oras.in","r");
FILE*g=fopen("oras.out","w");

char A[maxn][maxn];

inline void solve ( int N ){
	
	if ( N == 4 ){
		fprintf(g,"-1\n");
		return ;
	}
	
	for ( int i = 1 ; i <= N ; ++i ){
		for ( int j = 1 ; j <= N ; ++j ){
			A[i][j] = '0';
		}
	}
	
	int i;
	if ( N & 1 ){
		A[1][2] = A[2][3] = A[3][1] = '1';
		i = 5;
	}
	else{
		A[1][2] = A[1][4] = '1';
		A[2][3] = A[2][4] = '1';
		A[3][1] = A[3][6] = '1';
		A[4][3] = A[4][5] = A[4][6] = '1';
		A[5][1] = A[5][2] = A[5][3] = '1';
		A[6][1] = A[6][2] = A[6][5] = '1';
		i = 8;
	}
	
	for ( ; i <= N ; i += 2 ){
		A[i-1][i] = '1';
		for ( int j = 1 ; j < i - 1  ; ++j ){
			A[j][i-1] = '1'; A[i][j] = '1';
		}
	}
	
	for ( i = 1 ; i <= N ; ++i ){
		fprintf(g,"%s\n",A[i]+1);
	}
}

int main () {
	
	int n;
	fscanf(f,"%d",&n);
	solve(n);
	
	fclose(f);
	fclose(g);
	
	return 0;
}