Pagini recente » Cod sursa (job #702742) | Cod sursa (job #1182654) | Cod sursa (job #3245757) | Cod sursa (job #2118181) | Cod sursa (job #507561)
Cod sursa(job #507561)
#include<fstream>
using namespace std;
ifstream in("oras.in");
ofstream out("oras.out");
const int N=201;
int n;
bool ch[N][N];
bool CheckOdd()
{
for( int i=1; i<=n; ++i)
for( int j=1; j<=n; ++j)
if(ch[i][j]&&ch[j][i])
return 0;
return 1;
}
void PrintOdd()
{
for( int i=1; i<=n; ++i, out << "\n")
for( int j=1; j<=n; ++j)
out << ch[i][j] << " ";
//out << "\n" << "\n" << CheckOdd();
}
void SolveOdd()
{
for( int i=1; i<=n; ++i)
for( int dist=1; dist<n; dist+=2)
{
if(i+dist>n)
ch[i][(i+dist)%n]=1;
else
ch[i][i+dist]=1;
}
for( int i=1; i<=n; ++i)
for( int j=1; j<=n; ++j)
if( i!=j && ch[i][j]==0 && ch[j][i]==0)
ch[i][j]=1;
PrintOdd();
}
int main()
{
in >> n;
if(n&1)
SolveOdd();
else
out << "-1";
return 0;
}