#include <bits/stdc++.h>
using namespace std;
long i,j,k,ar[105][105]={0};
void floyd_warshall()
{
for(k=0;k<100;k++)
{
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
ar[i][j]=min(ar[i][j],ar[i][k]+ar[k][j]);
}
}
}
}
main()
{
long ts,cs=1;
cin>>ts;
while(ts--)
{
long node,edge,a,b,rs=0,source,desti;
cin>>node>>edge;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(i==j)
{
ar[i][j]=0;
}
else
ar[i][j]=1000000000;
}
}
for(i=0;i<edge;i++)
{
cin>>a>>b;
ar[a][b]=1;
ar[b][a]=1;
}
floyd_warshall();
cin>>source>>desti;
for(i=0;i<node;i++)
{
if(((ar[i][source]+ar[i][desti])>rs)&&(ar[i][source]!=1000000000)&&(ar[i][desti]!=1000000000))
rs=ar[i][source]+ar[i][desti];
}
printf("Case %ld: %ld\n",cs++,rs);
}
}
using namespace std;
long i,j,k,ar[105][105]={0};
void floyd_warshall()
{
for(k=0;k<100;k++)
{
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
ar[i][j]=min(ar[i][j],ar[i][k]+ar[k][j]);
}
}
}
}
main()
{
long ts,cs=1;
cin>>ts;
while(ts--)
{
long node,edge,a,b,rs=0,source,desti;
cin>>node>>edge;
for(i=0;i<100;i++)
{
for(j=0;j<100;j++)
{
if(i==j)
{
ar[i][j]=0;
}
else
ar[i][j]=1000000000;
}
}
for(i=0;i<edge;i++)
{
cin>>a>>b;
ar[a][b]=1;
ar[b][a]=1;
}
floyd_warshall();
cin>>source>>desti;
for(i=0;i<node;i++)
{
if(((ar[i][source]+ar[i][desti])>rs)&&(ar[i][source]!=1000000000)&&(ar[i][desti]!=1000000000))
rs=ar[i][source]+ar[i][desti];
}
printf("Case %ld: %ld\n",cs++,rs);
}
}
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন