Cod sursa(job #333198)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 21 iulie 2009 17:50:54
Problema Oras Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <stdio.h>

using namespace std;

#define maxn 210

long n, i, b, j, k, ok, r[maxn][maxn];

int main()
{
    freopen("oras.in", "r", stdin);
    freopen("oras.out", "w", stdout);
    scanf("%d", &n);
    ok=1;
    if(n%2==1)
        for(i=1; i<n/2+n%2; i++)
            for(j=0; j<n; j++)
            {
                b=(i+j)%n;
                if(r[b][j]==0 && r[j][b]==0)
                    r[j][b]=1;
            }
    if(n%2==0)
    {
        r[1][2] = 1; r[1][3] = 1; r[1][5] = 1;
        r[2][3] = 1; r[2][4] = 1; r[2][6] = 1;
        r[3][4] = 1; r[3][5] = 1; r[3][6] = 1;
        r[4][5] = 1; r[4][1] = 1;
        r[5][2] = 1; r[5][6] = 1;
        r[6][1] = 1; r[6][4] = 1;
        r[0][3]=1;
        r[2][5]=1;
        r[4][1]=1;
        for(i=7; i<n; i+=2)
        {
            r[i-1][i]=1;
            for(j=0; j<i-1; j++)
            {
                r[j][i-1]=1;
                r[i][j]=1;
            }
        }
    }
    if(n==4) printf("%d\n", -1);
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
        {
            printf("%d", r[i][j]);
        }
        printf("\n");
    }
    return 0;
}