#include<bits/stdc++.h>
using namespace std;
int gr[1000][1000];
float rela[1000][1000];
int main()
{
int i,j;
float c=0.4,beta=0.1,lamda=0.2,ex1,ex2,ex3,ex4;
int temp=1;
int limi=5;
int ct=0;
float f[1000][1000];
int siz[1000];
//gr[1][3]=1;
//gr[3][1]=1;
//gr[1][4]=1;
//gr[4][1]=1;
//gr[2][4]=1;
//gr[4][2]=1;
//gr[3][5]=1;
//gr[5][3]=1;
//siz[1]=2;siz[2]=1;siz[3]=2,siz[4]=2,siz[5]=1;
for(i=1;i<=limi;i++)
{
f[i][i]=0.1;
}
f[1][2]=1,f[1][3]=-1,f[1][4]=1,f[1][5]=-1;
f[2][3]=1,f[2][4]=-1,f[2][5]=-1,f[3][4]=-1,f[3][5]=1,f[4][5]=1;
f[2][1]=1,f[3][1]=-1,f[4][1]=1,f[5][1]=-1;
f[3][2]=1,f[4][2]=-1,f[5][2]=-1,f[4][3]=-1,f[5][3]=1,f[5][4]=1;
while(temp>0)
{
temp=0;
ct++;
for(i=1;i<=limi;i++)
{
for(j=1;j<=limi;j++)
{
if(j!=i)
{
ex1=f[i][i]*pow(lamda,siz[i])+f[i][j]*pow(lamda,siz[j]);
ex2=f[i][i]*pow(lamda,siz[j])+f[i][j]*pow(lamda,siz[i]);
ex3=((f[i][i]+f[i][j])*c)/(beta*(1-lamda));
ex4=ex3*lamda;
if(gr[i][j]==1)
{
if(ex1<ex4&&ex2<ex4)
{
gr[i][j]=0;
gr[j][i]=0;
siz[i]--;
siz[j]--;
temp++;
}
}
else
{
if(ex1>ex3&&ex2>ex3)
{
gr[i][j]=1;
gr[j][i]=1;
siz[i]++;
siz[j]++;
temp++;
}
}
}
}
}
}
printf("%d",ct);
for(i=1;i<=limi;i++)
{
for(j=1;j<=limi;j++)
{
printf("%d ",gr[i][j]);
}
printf("\n");
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGdyWzEwMDBdWzEwMDBdOwpmbG9hdCByZWxhWzEwMDBdWzEwMDBdOwppbnQgbWFpbigpCnsKCWludCBpLGo7CglmbG9hdCBjPTAuNCxiZXRhPTAuMSxsYW1kYT0wLjIsZXgxLGV4MixleDMsZXg0OwoJaW50IHRlbXA9MTsKCWludCBsaW1pPTU7CglpbnQgY3Q9MDsKCWZsb2F0IGZbMTAwMF1bMTAwMF07CglpbnQgc2l6WzEwMDBdOwoJLy9nclsxXVszXT0xOwoJLy9nclszXVsxXT0xOwoJLy9nclsxXVs0XT0xOwoJLy9ncls0XVsxXT0xOwoJLy9nclsyXVs0XT0xOwoJLy9ncls0XVsyXT0xOwoJLy9nclszXVs1XT0xOwoJLy9ncls1XVszXT0xOwoJLy9zaXpbMV09MjtzaXpbMl09MTtzaXpbM109MixzaXpbNF09MixzaXpbNV09MTsKCWZvcihpPTE7aTw9bGltaTtpKyspCgl7CgkJZltpXVtpXT0wLjE7Cgl9CglmWzFdWzJdPTEsZlsxXVszXT0tMSxmWzFdWzRdPTEsZlsxXVs1XT0tMTsKCWZbMl1bM109MSxmWzJdWzRdPS0xLGZbMl1bNV09LTEsZlszXVs0XT0tMSxmWzNdWzVdPTEsZls0XVs1XT0xOwoJZlsyXVsxXT0xLGZbM11bMV09LTEsZls0XVsxXT0xLGZbNV1bMV09LTE7CglmWzNdWzJdPTEsZls0XVsyXT0tMSxmWzVdWzJdPS0xLGZbNF1bM109LTEsZls1XVszXT0xLGZbNV1bNF09MTsKCXdoaWxlKHRlbXA+MCkKCXsKCQl0ZW1wPTA7CgkJY3QrKzsKCQlmb3IoaT0xO2k8PWxpbWk7aSsrKQoJCXsKCQkJZm9yKGo9MTtqPD1saW1pO2orKykKCQkJewoJCQkJaWYoaiE9aSkKCQkJCXsKCQkJCQlleDE9ZltpXVtpXSpwb3cobGFtZGEsc2l6W2ldKStmW2ldW2pdKnBvdyhsYW1kYSxzaXpbal0pOwoJCQkJCWV4Mj1mW2ldW2ldKnBvdyhsYW1kYSxzaXpbal0pK2ZbaV1bal0qcG93KGxhbWRhLHNpeltpXSk7CgkJCQkJZXgzPSgoZltpXVtpXStmW2ldW2pdKSpjKS8oYmV0YSooMS1sYW1kYSkpOwoJCQkJCWV4ND1leDMqbGFtZGE7CgkJCQkJaWYoZ3JbaV1bal09PTEpCgkJCQkJewoJCQkJCQlpZihleDE8ZXg0JiZleDI8ZXg0KQoJCQkJCQl7CgkJCQkJCQlncltpXVtqXT0wOwoJCQkJCQkJZ3Jbal1baV09MDsKCQkJCQkJCXNpeltpXS0tOwoJCQkJCQkJc2l6W2pdLS07CgkJCQkJCQl0ZW1wKys7CgkJCQkJCX0KCQkJCQl9CgkJCQkJCgkJCQkJZWxzZQoJCQkJCXsKCQkJCQkJaWYoZXgxPmV4MyYmZXgyPmV4MykKCQkJCQkJewoJCQkJCQkJZ3JbaV1bal09MTsKCQkJCQkJCWdyW2pdW2ldPTE7CgkJCQkJCQlzaXpbaV0rKzsKCQkJCQkJCXNpeltqXSsrOwoJCQkJCQkJdGVtcCsrOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJICAgIAogICB9CiAgIHByaW50ZigiJWQiLGN0KTsKICAgZm9yKGk9MTtpPD1saW1pO2krKykKICAgewogICAJZm9yKGo9MTtqPD1saW1pO2orKykKICAgCXsKICAgCSAgICBwcmludGYoIiVkICIsZ3JbaV1bal0pOwkKICAgCX0KICAgCXByaW50ZigiXG4iKTsKICAgfQogICByZXR1cm4gMDsJCn0=