Pagini recente » Cod sursa (job #3181990) | Cod sursa (job #639608) | Cod sursa (job #1877505) | Cod sursa (job #178267) | Cod sursa (job #507647)
Cod sursa(job #507647)
#include <cstdio>
const int N = 201;
bool sol[N][N]; int n;
inline int inc(int a, int b)
{
return (a+b)%n;
}
void inconjurare()
{
for (int i = 0; i <= n-1; ++i)
sol[inc(i,1)][inc(i,2)] = true;
}
void creare_sensuri()
{
for (int k = 0; k <= n-1; ++k)
{
for (int i = 2; i <= (n-1)/2; ++i)
if (i % 2 == 0)
sol[inc(i,k)][k] = true;
else
sol[k][inc(i,k)] = true;
for (int i = n-2; i >= (n+2)/2; --i)
if (i % 2 == 0)
sol[k][inc(i,k)] = true;
else
sol[inc(i,k)][k] = true;
if (n % 2 == 0)
{
if (sol[k][inc(n/2+1,k)] == true)
sol[inc(n/2,k)][k] = true;
else
sol[k][inc(n/2,k)] = true;
sol[inc(n/2,k)][inc(n/2+1,k)] = false;
sol[inc(n/2+1,k)][inc(n/2,k)] = true;
}
}
}
void afisare()
{
for (int i = 1; i <= n-1; ++i)
{
for (int j = 1; j <= n-1; ++j)
if (sol[i][j] == true)
printf("1");
else
printf("0");
if (sol[i][0] == true)
printf("1");
else
printf("0");
printf("\n");
}
for (int j = 1; j <= n-1; ++j)
if (sol[0][j] == true)
printf("1");
else
printf("0");
if (sol[0][0] == true)
printf("1");
else
printf("0");
printf("\n");
}
int main()
{
freopen("oras.in","r",stdin);
freopen("oras.out","w",stdout);
scanf("%i",&n);
inconjurare();
creare_sensuri();
afisare();
return 0;
}