Pagini recente » Cod sursa (job #3253344) | Cod sursa (job #653676) | Cod sursa (job #2455714) | Cod sursa (job #207409) | Cod sursa (job #712482)
Cod sursa(job #712482)
#include <stdio.h>
#include <string.h>
const int dim = 205;
int N, Q[dim], D[dim];
char T[4][4] = {{"010"},{"001"},{"100"}};
char S[7][7] = {{"011100"},{"001110"},{"000101"},{"000011"},{"101001"},{"110000"}};
char R[dim][dim];
void init ()
{
int i, j;
if (N & 1)
{
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
R[i][j] = T[i][j];
}
else
{
for (i = 0; i < 6; i++)
for (j = 0; j < 6; j++)
R[i][j] = S[i][j];
}
}
void rez ()
{
int i, j, k;
for (i = (N & 1 ? 3 : 6); i < N; i += 2)
{
j = i + 1;
for (k = 0; k < i; k++)
{
R[i][k] = R[k][j] = '0';
R[k][i] = R[j][k] = '1';
}
R[i][j] = '1';
R[i][i] = R[j][j] = R[j][i] = '0';
}
}
void afi ()
{
if (N == 4)
{
printf ("-1\n");
return;
}
int i;
for (i = 0; i < N; i++)
printf ("%s\n", R[i]);
}
int main ()
{
freopen ("oras.in", "r", stdin);
freopen ("oras.out", "w", stdout);
scanf ("%d", &N);
init ();
rez ();
afi ();
return 0;
}