Cod sursa(job #610934)

Utilizator crushackPopescu Silviu crushack Data 29 august 2011 19:20:54
Problema Oras Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>
#include <string.h>
#define NMax 210
const char IN[]="oras.in",OUT[]="oras.out";

const char mat[10][10]= {
    "011100",
    "001110",
    "000101",
    "000011",
    "101001",
    "110000"
};
const char mat2[5][5]={
    "010",
    "001",
    "100"
};

int N;
char Sol[NMax][NMax];

int main()
{
    int i,j,f;
    freopen(IN,"r",stdin);
    scanf("%d",&N);
    fclose(stdin);

    memset(Sol,'0',sizeof(Sol));
    for (i=0;i<N;++i) Sol[i][N]=0;
    if (N!=4 && N&1)
        for (i=0;i<3;++i) memcpy(Sol[i],mat2[i],3),f=3;
    else if (N!=4)
        for (i=0;i<6;++i) memcpy(Sol[i],mat[i],6),f=6;

    for (i=f+1;i<N;i+=2)
        for (j=0,Sol[i-1][i]='1';j<i-1;++j) Sol[j][i-1]=Sol[i][j]='1';

    freopen(OUT,"w",stdout);
    if (N==4) printf("-1");
    else for (i=0;i<N;++i)printf("%s\n",Sol[i]);
    return 0;
}