Cod sursa(job #1830457)

Utilizator razvan99hHorhat Razvan razvan99h Data 16 decembrie 2016 19:16:52
Problema Oras Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.8 kb
#include <iostream>

#include <fstream>

using namespace std;

ifstream fin("oras.in");

ofstream fout("oras.out");

bool g[205][205];

int n, i, j;

 

int main()

{

    fin>>n;

    if(n==4)

        fout<<"-1";

    else

    {

        //construim graful de baza 1->2 2->3 3->1

        if(n%2==1)

        {   g[1][2]=1; g[2][3]=1; g[3][1]=1;

 

            for(i=4;i<=n;i=i+2)

            {

                //facem drum de la i la i+1;

                g[i][i+1]=1;

                //acum facem drum de la toate nodurile la i si de la i+1 la toate nodurile

                for(j=1;j<=i-1;j++)

                {

                    g[j][i]=1;

                    g[i+1][j]=1;

                }

            }

        }

        else

        {

            //construim graful de baza pt n=6

            g[1][2]=g[1][3]=g[1][4]=g[2][3]=g[2][4]=g[2][5]=g[3][4]=g[3][6]=g[4][5]=g[4][6]=g[3][5]=g[5][1]=g[6][1]=g[6][2]=1;

 

            for(i=8;i<=n;i=i+2)

            {

                g[i][i+1]=1;

                for(j=1;j<=i-1;j++)

                {

                    g[j][i]=1;

                    g[i+1][j]=1;

                }

            }

        }

        for(i=1;i<=n;i++)

        {

            for(j=1;j<=n;j++)

                fout<<g[i][j];

            fout<<'\n';

        }

 

    }

 

    return 0;

}