Cod sursa(job #1837134)

Utilizator Vlad_lsc2008Lungu Vlad Vlad_lsc2008 Data 29 decembrie 2016 00:50:48
Problema Oras Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.98 kb
#include <iostream>
#include <bitset>
#include <cstdio>
#include <vector>
using namespace std;

int n;
bitset<200> orase[200],pus[200];

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

    if(n%2==1)
    {
        int num=(n-1)/2;
        int crt,poz;
        for(i=1;i<=n;i++)
        {
            crt=num;
            poz=1;
            while(crt)
            {
                if( poz!=i && !pus[i][poz])
                {
                    orase[i][poz]=1;
                    pus[poz][i]=1;
                    poz++;
                    crt--;
                }
                else poz++;
            }
        }
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++) cout<<orase[i][j];
            printf("\n");
        }
        return 0;
    }
    else
    {
        int num=n/2;
        int crt,poz;
        for(i=1;i<=n/2;i++)
        {
            crt=num;
            poz=1;
            while(crt)
            {
                if(poz!=i && !pus[i][poz])
                {
                    orase[i][poz]=1;
                    pus[poz][i]=1;
                    poz++;
                    crt--;
                }
                else poz++;
            }
        }

        num--;
        for(;i<=n;i++)
        {
            crt=num;
            poz=1;
            while(crt)
            {
                if(poz!=i && !pus[i][poz])
                {
                    orase[i][poz]=1;
                    pus[poz][i]=1;
                    poz++;
                    crt--;
                }
                else poz++;
            }
        }

         for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++) cout<<orase[i][j];
            printf("\n");
        }
        return 0;
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}