Pagini recente » Cod sursa (job #1572854) | Cod sursa (job #191587) | Cod sursa (job #3149124) | Cod sursa (job #1090964) | Cod sursa (job #772272)
Cod sursa(job #772272)
#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==j);k--);
if(k)
{
l[i][k]=1;
if(!l[i][j])l[i][j]=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;}