View Code of Problem 14

#include<stdio.h>
struct location{
	int a,b,value;
}loc[2000];
int main()
{
	int n,t,a,b,value,w,e,k=1;int p[2000],q[2000];int dist[1000][1000];
	while(scanf("%d %d",&n,&t)!=EOF)
	{
		for(int i=0;i<t;i++)
		{
			scanf("%d %d %d",&a,&b,&value);
			loc[i].a=a;loc[i].b=b;loc[i].value=value;
		}
		for(int i=0;i<t;i++)
		{
			for(int j=0;j<t;j++)
			{
				if(loc[i].a==loc[j].a&&loc[i].b==loc[j].b)
				{
					if(loc[i].value<loc[j].value)
					{
						loc[j].value=loc[i].value;
					}
					else
					{
						loc[i].value=loc[j].value;
					}
					
				}
			}
		}
		//p[2000]={0};q[2000]={0};
		scanf("%d %d",&w,&e);
		for(int i=0;i<w;i++)
		{
			scanf("%d %d",&p[i],&q[i]);
		}
		//dist[1000][1000]={0};
		int distance=0;
		for(int i=0;i<w;i++)
		{
			for(int j=0;j<t;j++)
			{
				if(p[i]==loc[j].a&&q[i]==loc[j].b&&dist[a][b]==0)
				{
					distance+=loc[j].value;
					dist[a][b]=1;dist[b][a]=1;
				}
			}
		}
		printf("Case #%d: %d",k,distance);
		k++;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 14