现在的位置: 首页 > 综合 > 正文

poj 3615 Cow Hurdles

2013年03月21日 ⁄ 综合 ⁄ 共 671字 ⁄ 字号 评论关闭

题目大意:很多单向路上有一个Hurdles,给你Hurdles的高度,求出走到目标地点所需要的最小的跳高的能力。

#include<cstdio>
#include<iostream>
int map[400][400];
int dis[400][400];
const int INF=1<<28;
int n,m,t;
int main()
{
	while(scanf("%d%d%d",&n,&m,&t)!=EOF)
	{
		int i,j;
		for(i=1;i<=n;i++)
			for(j=1;j<=n;j++)
				map[i][j]=INF;  //初始化
		for(i=1;i<=m;i++)
		{
			int a,b,c;
			scanf("%d%d%d",&a,&b,&c);
			if(c<map[a][b])map[a][b]=c;  //建图
		}

		for(i=1;i<=n;i++) 
			for(j=1;j<=n;j++)
			{
				dis[i][j]=map[i][j];
				dis[i][i]=0;
			}
		int k;
		for(k=1;k<=n;k++)      
            for(i=1;i<=n;i++)  
                for(j=1;j<=n;j++)  
				{
					int max=dis[i][k]<dis[k][j]?dis[k][j]:dis[i][k];    
					dis[i][j]=dis[i][j] > max ? max:dis[i][j];
				}
		for(i=1;i<=t;i++)
		{
			int s,e;
			scanf("%d%d",&s,&e);
			if(dis[s][e]!=INF)printf("%d\n",dis[s][e]);
			else printf("-1\n");
		}
	}
	return 0;
}

抱歉!评论已关闭.