Cod sursa(job #607076)

Utilizator SpiderManSimoiu Robert SpiderMan Data 10 august 2011 18:24:52
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
# 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]);
}