Pagini recente » Cod sursa (job #426865) | Cod sursa (job #105568) | Cod sursa (job #586594) | Cod sursa (job #2123649) | Cod sursa (job #772276)
Cod sursa(job #772276)
#include<fstream>
using namespace std;
int n,i,j,k;
char a[202][202];
short l[202][202];
int main()//creeaza un graf complet,orientat a.i. intre oricare 2 noduri exista un lant de lmax<=2
{
ifstream f("oras.in");ofstream g("oras.out");
f>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]='0';
for(i=1;i<n;i++){ a[i][i+1]='1'; l[i][i+1]=1; l[i][i+2]=2; }
a[n][1]='1'; l[n][1]=1;l[n][2]=2;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i!=j && !l[i][j])
if(a[j][i] && l[j][i]==1)
{
for(k=n;k>=1 && !l[k][j]==1 && !a[k][i];k--);
l[i][k]=1;
if(!l[i][k+1])l[i][k+1]=2;
a[i][k]='1';
}
else
{
l[i][j]=1;
if(!l[i][j+1])l[i][j+1]=2;
a[i][j]='1';
}
if(n==4){ g<<-1; return 0; }
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
g<<a[i][j];
g<<'\n';
}
f.close();g.close();
return 0;}