Cod sursa(job #1423314)

Utilizator Liviu98Dinca Liviu Liviu98 Data 21 aprilie 2015 18:20:36
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <iostream>
#include <fstream>
#define NMax 209
using namespace std;
int A[NMax][NMax],N;

void AdaugareMuchie(int x,int y)
{
    A[x][y]=1;
}

void Solve(int N)
{
    if(N==3)
    {
        AdaugareMuchie(1,2);
        AdaugareMuchie(2,3);
        AdaugareMuchie(3,1);
        return;
    }
    if(N==6)
    {
        AdaugareMuchie(1,2);
        AdaugareMuchie(1,4);
        AdaugareMuchie(1,6);

        AdaugareMuchie(2,3);
        AdaugareMuchie(2,5);
        AdaugareMuchie(2,6);

        AdaugareMuchie(3,1);
        AdaugareMuchie(3,5);

        AdaugareMuchie(4,2);
        AdaugareMuchie(4,3);
        AdaugareMuchie(4,5);

        AdaugareMuchie(5,1);
        AdaugareMuchie(5,6);

        AdaugareMuchie(6,3);
        AdaugareMuchie(6,4);
        return;
    }
    Solve(N-2);
    for(int i=1;i<=N-2;i++)
        AdaugareMuchie(N-1,i),AdaugareMuchie(i,N);
    AdaugareMuchie(N,N-1);
}

int main()
{
    freopen("oras.in","r",stdin);
    freopen("oras.out","w",stdout);
    scanf("%d",&N);
    if(N==4)
    {
        printf("-1\n");
        return 0;
    }

    Solve (N);

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