Pagini recente » Cod sursa (job #1666246) | Cod sursa (job #396566) | Cod sursa (job #226344) | Cod sursa (job #1749217) | Cod sursa (job #607076)
Cod sursa(job #607076)
# include <cstdio>
# include <cstring>
const char *FIN = "oras.in", *FOU = "oras.out";
const char *sir1[] = {"010", "001", "100"};
const char *sir2[] = {"011100", "001110", "000101", "000011", "101001", "110000"};
const int MAX = 205;
int N;
char V[MAX][MAX];
int main (void) {
fscanf (fopen (FIN, "r"), "%d", &N);
memset (V, '0', sizeof (V));
if (N == 4) {
fprintf (fopen (FOU, "w"), "-1");
return 0;
}
if (N & 1)
for (int i = 0; i < 3; ++i)
memcpy (V[i], sir1[i], 3);
else for (int i = 0; i < 6; ++i)
memcpy (V[i], sir2[i], 6);
for (int k = (N & 1) ? 3 : 6; k <= N; k += 2) {
for (int i = 0; i < k; ++i)
V[i][k] = V[k + 1][i] = '1';
V[k][k + 1] = '1';
}
freopen (FOU, "w", stdout);
for (int i = 0; i < N; ++i, printf ("\n"))
for (int j = 0; j < N; ++j)
printf ("%c", V[i][j]);
}