Pagini recente » Cod sursa (job #1601853) | Cod sursa (job #1620564) | Rating Artenie Dan (ASweetPotato) | Monitorul de evaluare | Cod sursa (job #133779)
Cod sursa(job #133779)
#include<stdio.h>
FILE*f=fopen("oras.in","r");
FILE*g=fopen("oras.out","w");
char a[201][201];
int n;
void caz()
{
a[6][1]='1';
a[4][6]='1';
a[2][6]='1';
a[6][3]='1';
a[6][5]='1';
}
void gaseste(int n)
{
int i;
//am fixate nodurile n-2, si adaug nodurile n-1,n.
a[n-1][n]='1'; //am nod de la n-1, la n
for(i=1;i<=n-2;++i)
{
a[i][n-1]='1';
a[n][i]='1'; //drum: n-1 -> n -> i
}
}
int main()
{
int i,j;
fscanf(f,"%d",&n);
for(i=1;i<=n;++i) for(j=1;j<=n;++j) a[i][j]='0';
a[1][2]='1'; a[2][3]='1'; a[3][1]='1';
if(n==4) fprintf(g,"-1\n");
else
{
//am fixat graful cu 3 noduri:
if(n%2==0)
{
/* caz();
for(i=8;i<=n;i+=2) gaseste(i);
}*/}
else
for(i=5;i<=n;i+=2) gaseste(i);
}
for(i=1;i<=n;++i)
{
for(j=1;j<=n;++j)
fprintf(g,"%c",a[i][j]);
fprintf(g,"\n");
}
return 0;
}