hdu2112 HDU Today (Dijkstra)

#include 
#include 
#include 
#include 
#include 
#define INF 0x3f3f3f3f
#define MAXN 155
using namespace std;

mapm;
int mp[MAXN][MAXN],dist[MAXN],visited[MAXN];

void init()//初始化
{
	for(int i=1;i(dist[u]+mp[u][j]))
				dist[j]=dist[u]+mp[u][j];
		}
	}
}

int main()
{
	int n,k,len,flag;
	char s[32],e[32];
	while(scanf("%d",&n)&&n!=-1)
	{
		flag=0;
		k=1;
		m.clear();
		init();
		scanf("%s%s",s,e);
		if(strcmp(s,e)==0)//注意输入的起点和终点一样
			flag=1;
		m[s]=k++;//起点为1
		m[e]=k++;//终点为2
		for(int i=1;i<=n;i++)
		{
			scanf("%s%s%d",s,e,&len);
			if(!m[s])
				m[s]=k++;
			if(!m[e])
				m[e]=k++;
			if (len

你可能感兴趣的:(图论)