Cod sursa(job #1521207)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 10 noiembrie 2015 00:12:09
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <cstdio>
using namespace std;

const int DIM = 256;

int A[DIM][DIM], N;

void equal3 ()
{
    A[1][2] = 1;
    A[2][3] = 1;
    A[3][1] = 1;

    return;
}

void equal6 ()
{
    A[1][2] = 1; A[1][4] = 1; A[2][5] = 1;
    A[5][4] = 1; A[6][1] = 1; A[6][5] = 1;
    A[2][6] = 1; A[3][1] = 1; A[3][2] = 1;
    A[4][6] = 1; A[5][1] = 1; A[5][3] = 1;
    A[3][6] = 1; A[4][2] = 1; A[4][3] = 1;

    return;
}

int main ()
{
    freopen ("oras.in" ,"r", stdin );
    freopen ("oras.out","w", stdout);

    scanf ("%d", &N);

    if (N == 4)
    {
        printf ("-1\n");
        return 0;
    }

    if (N % 2 == 1)
        equal3 ();
    else
        equal6 ();

    for (int i = (N % 2) ? 5 : 8; i <= N; i += 2)
    {
        A[i-1][i] = 1;

        for (int j = 1; j <= i - 2; j ++)
            A[j][i-1] = 1;

        for (int j = 1; j <= i - 2; j ++)
            A[i][j] = 1;
    }

    for (int i = 1; i <= N; i ++)
    {
        for (int j = 1; j <= N; j ++)
            printf ("%d", A[i][j]);

        printf ("\n");
    }

    fclose (stdin );
    fclose (stdout);

    return 0;
}