国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

poj 1797 Heavy Transportation

2019-11-06 06:51:38
字體:
來源:轉載
供稿:網友

Heavy Transportation

題目鏈接:http://poj.org/PRoblem?id=1797

這個題目屬于迪杰斯特拉算法的變形題了,大意是在通往目的地的所有路徑中找到一條載重最大的道路,但是一條路徑的載重由載重量最小的那條邊決定。

轉換公式:MAX(dis[j],MIN(dis[p],map[p][j])))

代碼如下:

#include<stdio.h>int map[1005][1005];int vi[1005],dis[1005];#define INF 10000000 int MIN(int a,int b){	if(a<b)		return a;	return b;}void Dj(int n){	int p;	for(int i=1;i<=n;i++)	{		dis[i]=map[1][i];		vi[i]=0;	}	vi[1]=1;	for(int i=1;i<=n;i++)	{		int max=-1;		for(int j=1;j<=n;j++)		{			if(!vi[j] && dis[j]>max)			{				max=dis[j];				p=j;			}		}		vi[p]=1;		for(int j=1;j<=n;j++)		{			if(!vi[j] && dis[j]<MIN(dis[p],map[p][j]))				dis[j]=MIN(dis[p],map[p][j]);		}	}}int main(){	int index=0;	int t;	int n,m;	int x,y,d;	scanf("%d",&t);	while(t--)	{		scanf("%d%d",&n,&m);		for(int i=0;i<1005;i++)		{			for(int j=0;j<1005;j++)				map[i][j]=-1;		}		for(int i=0;i<m;i++)		{			scanf("%d%d%d",&x,&y,&d);			map[x][y]=map[y][x]=d;		Dj(n);		printf("Scenario #%d:/n%d/n",++index,dis[n]);		printf("/n");	}	return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三门峡市| 通化县| 河曲县| 荔波县| 丰县| 漳浦县| 彭泽县| 汶川县| 行唐县| 松溪县| 丹江口市| 于田县| 惠安县| 广德县| 无棣县| 错那县| 苍梧县| 汉阴县| 富顺县| 姚安县| 都昌县| 水富县| 德清县| 长阳| 海南省| 陈巴尔虎旗| 朝阳市| 噶尔县| 凉城县| 鄂托克前旗| 九江县| 彰武县| 太湖县| 邻水| 绥滨县| 栾城县| 梧州市| 明星| 阳西县| 疏附县| 泸水县|