Cod sursa(job #1838033)
Utilizator | Data | 30 decembrie 2016 20:59:44 | |
---|---|---|---|
Problema | Oras | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <iostream>
#include <cstdio>
#define MAXN 220
using namespace std;
int n;
int mat[MAXN][MAXN];
void solve(int n)
{
if (n <= 1)
return;
for (int i = 1; i <= n-2; i++) {
mat[n][i] = 1;
mat[i][n-1] = 1;
}
mat[n-1][n] = 1;
solve(n-2);
}
int main()
{
freopen("oras.in", "r", stdin);
freopen("oras.out", "w", stdout);
scanf("%d", &n);
if (n & 1) {
solve(n);
for (int i = 1; i <= n; i++, printf("\n"))
for (int j = 1; j <= n; j++)
printf("%d ", mat[i][j]);
}
else
printf("-1");
return 0;
}