您的位置:首页 > 其它

POJ 3615 Cow Hurdles

2010-10-31 10:32 381 查看
Floyd的应用,修改下判断条件,不过没有初始化,开始忽略了一个特殊情况,就是两点间无直接连线,靠间接联系在一起

cin真的好慢!

代码:

#include<iostream>
using namespace std;
int g[301][301];
int max(int a,int b)
{
return a>b?a:b;
}
int min(int a,int b)
{
return a<b?a:b;
}
int main()
{
int i,j,k,n,w,m,a,b,test,t;
cin>>n>>m>>test;
memset(g,0,sizeof(g));
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&a,&b,&w);
if(g[a][b])
g[a][b]=min(w,g[a][b]);
else
g[a][b]=w;
}
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(g[i][k]>0&&g[k][j]>0)
{
t=max(g[i][k],g[k][j]);
if(g[i][j]>0)
g[i][j]=min(g[i][j],t);
else
g[i][j]=t;
}
}
while(test--)
{
scanf("%d%d",&a,&b);
if(g[a][b]==0)
printf("-1/n");
else
printf("%d/n",g[a][b]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: