Pagini recente » Cod sursa (job #2805005) | Cod sursa (job #2024292) | Cod sursa (job #2608046) | Cod sursa (job #3243558) | Cod sursa (job #1837154)
#include <iostream>
#include <bitset>
#include <cstdio>
#include <vector>
using namespace std;
int n;
bitset<205> orase[205],pus[205];
int main()
{
int i,j,nr;
freopen("oras.in","r",stdin);
freopen("oras.out","w",stdout);
scanf("%d",&n);
if(n==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
{
n--;
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++;
}
}
n++;
orase[n][1]=1;
orase[n][n/2+1]=1;
for(i=1;i<=n-1;i++)
orase[i][n]=1;
orase[1][n]=0;
orase[n/2+1][n]=0;
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;
}