Cod sursa(job #333187)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 21 iulie 2009 17:37:16
Problema Oras Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 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)
    {
        for(i=1; i<3; i++)
            for(j=0; j<6; j++)
            {
                b=(i+j)%6;
                if(r[b][j]==0 && r[j][b]==0)
                    r[j][b]=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;
}