Cod sursa(job #3143379)

Utilizator bent_larsenSturzu Antonio-Gabriel bent_larsen Data 29 iulie 2023 15:53:17
Problema Oras Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>
using namespace std;

const int nmax = 205;
int mat[nmax][nmax];

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


int main() {
	freopen("oras.in", "r", stdin);
	freopen("oras.out", "w", stdout);
	int n;
	cin >> n;
	if(n == 4)
	{
		cout << "-1\n";
	}
	else
	{
		solve(n);
		for(int i = 0;i < n;++i)
		{
			for(int j = 0;j < n;++j)
				cout << mat[i][j];
			cout << "\n";
		}
	}
}