Cod sursa(job #1249146)

Utilizator andreiiiiPopa Andrei andreiiii Data 26 octombrie 2014 16:38:08
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <algorithm>
#include <cstdio>
#include <iostream>

using namespace std;

const int Nmax = 205;

char G[Nmax][Nmax];

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

    ios::sync_with_stdio(false);

    int N;
    cin >> N;

    if ((N & 1) == 0 && N < 6) {
        cout << "-1\n";
        return 0;
    }

    int start;
    if ((N & 1) == 0) {
        start = 7;
        G[1][2] = G[2][3] = G[3][1] = '1';
        G[2][4] = G[4][5] = G[5][2] = '1';
        G[1][4] = G[5][3] = '1';
        G[6][4] = G[6][5] = '1';
        G[4][3] = G[5][1] = '1';
        G[6][2] = G[1][6] = G[3][6] = '1';
    } else {
        start = 2;
    }

    for (int i = start; i <= N; i += 2) {
        for (int j = 1; j < i; ++j) {
            G[j][i] = '1';
            G[i + 1][j] = '1';
        }
        G[i][i + 1] = '1';
    }

    for (int i = 1; i <= N; ++i) {
        for (int j = 1; j <= N; ++j) {
            if (G[i][j] != '1')
                G[i][j] = '0';
        }
        G[i][N + 1] = '\n';
    }

    for (int i = 1; i <= N; ++i)
        cout << G[i] + 1;
}