Zju 1082 루머 의 전파 Floyed 알고리즘 - 물 문제
2121 단어 플 로 이 드 최 단 길물 문제
#include
#include
#include
using namespace std;
int n,k,m,t,w[101][101],mark,minl,ans;
const int maxx=0x7fffffff;
const int N=100000000;
int main()
{
memset(w,63,sizeof(w));
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&k);
for(int j=1;j<=k;j++)
{
scanf("%d%d",&m,&t);
w[i][m]=t;// i 。
}
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
if(i!=j&&j!=k&&w[i][j]>w[i][k]+w[k][j])//Floyed
{
w[i][j]=w[i][k]+w[k][j];
}
}
}
ans=maxx;
for(int i=1;i<=n;i++)
{
int s=0;
for(int j=1;j<=n;j++)
{
if(i!=j)
s=max(s,w[i][j]);// , s=0 , cost
}
if(ss)
{
ans=s;// ans mark
mark=i;
}
}
if(ans>N)
{
printf("disjoint
");
}
else
{
printf("%d %d",mark,ans);
}
return 0;
}
자, 제 블 로그 가 좋다 고 생각 하 시 면 본 건 33951 건 입 니 다. 시청 해 주 셔 서 감사합니다.