#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.