Pagini recente » Cod sursa (job #133840) | Cod sursa (job #18087) | Borderou de evaluare (job #367009) | Cod sursa (job #171806) | Cod sursa (job #128833)
Cod sursa(job #128833)
#include <cstdio>
#include <cstring>
using namespace std;
#define FIN "oras.in"
#define FOUT "oras.out"
#define MAX_N 205
int A[MAX_N][MAX_N];
int N;
void solve ( void )
{
int i, j, ng;
if (N & 1)
{
ng = 1;
while (ng < N)
{
int nod1, nod2;
nod1 = ng + 1;
nod2 = ng + 2;
A[nod1][nod2] = 1;
for (i = 1; i <= ng; ++i)
A[i][nod1] = 1;
for (i = 1; i <= ng; ++i)
A[nod2][i] = 1;
ng += 2;
}
}
else
{
/* if (N == 2)
A[1][2] = 1;
else
{
A[1][2] = A[1][3] = A[1][4] = A[1][5] = 1;
A[2][3] = A[2][4] = A[2][6] = 1;
A[3][4] = A[3][5] = A[3][6] = 1;
A[4][5] = A[4][6] = 1;
A[5][6] = A[5][2] = A[5][3] = 1;
A[6][1] = 1;
ng = 6;
while (ng < N)
{
int nod1, nod2;
nod1 = ng + 1;
nod2 = ng + 2;
A[nod1][nod2] = 1;
for (i = 1; i <= ng; ++i)
A[i][nod1] = 1;
for (i = 1; i <= ng; ++i)
A[nod2][i] = 1;
ng += 2;
}
}*/
}
for (i = 1; i <= N; ++i)
{
for (j = 1; j <= N; ++j)
printf ("%d", A[i][j]);
printf ("\n");
}
}
int main ()
{
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
scanf ("%d", &N);
if (N == 4)
{
printf ("-1\n");
return 0;
}
solve ();
return 0;
}