Cod sursa(job #849604)

Utilizator scipianusFMI Ciprian Olariu scipianus Data 7 ianuarie 2013 13:08:24
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
using namespace std;
int n,mat[210][210];

inline void Rezolvare(int N)
{
	if(N==3)
	{
		mat[1][2]=mat[2][3]=mat[3][1]=1;
		return;
	}
	if(N==4)
		return;
	if(N==6)
	{
		mat[1][2]=mat[1][3]=mat[1][4]=1;
		mat[2][3]=mat[2][4]=mat[2][5]=1;
		mat[3][4]=mat[3][6]=1;
		mat[4][5]=mat[4][6]=1;
		mat[5][1]=mat[5][3]=mat[5][6]=1;
		mat[6][1]=mat[6][2]=1;
		return;
	}
	int i;
	for(i=1;i<=N-2;i++)
		mat[i][N-1]=mat[N][i]=1;
	mat[N-1][N]=1;
	Rezolvare(N-2);
}

int main()
{
	ifstream fin("oras.in");
	fin>>n;
	fin.close();
	
	Rezolvare(n);
	
	ofstream fout("oras.out");
	if(n==4)
		fout<<"-1\n";
	else
	{
		int i,j;
		for(i=1;i<=n;i++)
		{
			for(j=1;j<=n;j++)
				fout<<mat[i][j];
			fout<<"\n";
		}
	}
	fout.close();
	return 0;
}