#include <stdio.h>
#include <string.h>
#include<bits/stdc++.h>
using namespace std;
long mp[110][110],i,k,j;
long floyd()
{
for(k=0; k<101; k++)
{
for(i=0; i<101; i++)
{
for(j=0; j<101; j++)
{
mp[i][j]=min(mp[i][j],(mp[i][k]+mp[k][j]));
}
}
}
}
using namespace std;
int main()
{
long long a,b,cs=1;
while(cin>>a>>b)
{
set<long>st;
for(i=0; i<101; i++)
{
for(j=0; j<101; j++)
{
if(i!=j)
{
mp[i][j]=1000000;
}
else
mp[i][j]=0;
}
}
if(a==0&&b==0)
break;
st.insert(a);
st.insert(b);
mp[a][b]=1;
long long a1,b1,sum=0;
while(cin>>a1>>b1)
{
if(a1==0&&b1==0)
break;
st.insert(a1);
st.insert(b1);
mp[a1][b1]=1;
}
floyd();
for(i=0; i<101; i++)
{
for(j=0; j<101; j++)
{
if(i!=j&&mp[i][j]!=1000000)
{
sum=sum+mp[i][j];
}
}
}
long len=st.size();
len=len*(len-1);
double ans=(double)sum/len;
printf("Case %ld: average length between pages = ",cs++);
printf("%.3lf clicks\n",ans);
}
}
#include <string.h>
#include<bits/stdc++.h>
using namespace std;
long mp[110][110],i,k,j;
long floyd()
{
for(k=0; k<101; k++)
{
for(i=0; i<101; i++)
{
for(j=0; j<101; j++)
{
mp[i][j]=min(mp[i][j],(mp[i][k]+mp[k][j]));
}
}
}
}
using namespace std;
int main()
{
long long a,b,cs=1;
while(cin>>a>>b)
{
set<long>st;
for(i=0; i<101; i++)
{
for(j=0; j<101; j++)
{
if(i!=j)
{
mp[i][j]=1000000;
}
else
mp[i][j]=0;
}
}
if(a==0&&b==0)
break;
st.insert(a);
st.insert(b);
mp[a][b]=1;
long long a1,b1,sum=0;
while(cin>>a1>>b1)
{
if(a1==0&&b1==0)
break;
st.insert(a1);
st.insert(b1);
mp[a1][b1]=1;
}
floyd();
for(i=0; i<101; i++)
{
for(j=0; j<101; j++)
{
if(i!=j&&mp[i][j]!=1000000)
{
sum=sum+mp[i][j];
}
}
}
long len=st.size();
len=len*(len-1);
double ans=(double)sum/len;
printf("Case %ld: average length between pages = ",cs++);
printf("%.3lf clicks\n",ans);
}
}
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন