首页 > 代码库 > UVa 544 - Heavy Cargo

UVa 544 - Heavy Cargo

题目:有一个载重无限的卡车运输货物,在城市中每条道路有一个能承受的最大重量,

            现在用卡车从一个城市到另一个城市运送货物,问最大的运输重量。

分析:图论,最短路,最小生成树。找一条从起点到终点的路径,使得其中最窄的路段最宽。

            从起点开始不断向周围扩散,像dijkstra算法和prime算法一样,只是维护最大值即可。

           (如果上述方法不正确,则存在在一个确定点,其后面的确定点可以更新它,则在那个点应该先被找到)

说明:道路是双向的,重复的路径认为是扩建,加和处理。

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>

using namespace std;

/*hash_satrt*/
typedef struct hash_node
{
	int  		id;
	char 		name[31];
	hash_node*	next;
}hash_node;
hash_node  Node[202];
hash_node* List[10007];
int        list_size = 0;

void hash_initial()
{
	list_size = 0;
	memset(List, 0, sizeof(List));
	memset(Node, 0, sizeof(Node));
}

int hash_hash(char *word)
{
	int value = http://www.mamicode.com/0;>

UVa 544 - Heavy Cargo