View Code of Problem 14

#include<stdio.h>
#include<string.h>
int dis[100][100];
int main()
{
	int n,t;
	int time=0;
	while(scanf("%d%d",&n,&t),n!=0||t!=0)
	{
		int i,j;
		int a,b,x;
		for(i=0;i<=n+1;i++)
			for(j=0;j<=n+1;j++)
				dis[i][j]=0xfffff;
		for(i=0;i<t;i++)
		{
			scanf("%d%d%d",&a,&b,&x);
			dis[a][b]=dis[a][b]>x?x:dis[a][b];
			dis[b][a]=dis[a][b];
		}
		int w,e;
		int c,d;
		scanf("%d%d",&w,&e);
		int sum=0;
		int flag=0;
		for(i=0;i<w;i++)
		{
			scanf("%d%d",&c,&d);
			if(flag) continue;
			if(dis[c][d]<0xfffff)
			{
			sum+=dis[c][d];
			dis[c][d]=dis[d][c]=0xfffff;
			}
			if(d==e) {flag=1;continue;}
		}
		printf("Case #%d: ",++time);
		printf("%d\n",sum);
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 14