View Code of Problem 14

#include<stdio.h>

int way[10000][3]={0};
int path[10000][2]={0};

int main()
{
	int count = 1;
	int n, t;
	scanf("%d%d", &n, &t);
	while(n != 0 || t != 0)
	{
		int sum = 0, min;
		for(int i = 0; i < t; i++)
			scanf("%d%d%d", &way[i][0], &way[i][1], &way[i][2]);
		int w, e;
		int flag = 1;
		scanf("%d%d", &w, &e);
		for(int i = 0; i < w; i++)
		{
			min = 9999;
			scanf("%d%d", &path[i][0], &path[i][1]);
			for(int j = 0; j < t; j++)
				if(flag && (path[i][0] == way[j][0] && path[i][1] == way[j][1]) || (path[i][0] == way[j][1] && path[i][1] == way[j][0]))
					if(min > way[j][2])
					{
						min = way[j][2];
						way[j][2] = 0;
					}
						
			if(flag)
				sum += min;
			
			if(path[i][1] == e)
				flag = 0;
				
		}
		printf("Case #%d: %d\n", count++, sum);
		scanf("%d%d", &n, &t);
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 14