#include <stdio.h> #include <stdlib.h> #include<ctype.h> #include<string.h> #include<math.h> int main() { struct MyStruct { int a, b, value; }node[2000]; int n, t, a, b, value, w, e; int i, j,k,preb,sum; int s = 1; while (scanf("%d%d",&n,&t)) { if (n == 0 && t == 0) break; int str[2000][2] = { 0 }; i = 0; preb = 0; while (t--) { scanf("%d%d%d", &a, &b, &value); if (a < preb) { for (j = 0; j <= i; j++) { if (node[j].a == a) break; } if (value < node[j].value) { node[j].value = value; node[j].a = a; node[j].b = b; } }else { node[i].value = value; node[i].a = a; node[i].b = b;i++; } preb = b; } scanf("%d%d", &w, &e); for (j = 0; j < w; j++) { scanf("%d%d", &str[j][0], &str[j][1]); } sum = 0; preb = str[0][0]; for (j = 0; j < w; j++) { if (str[j][0] == e ) break; if (str[j][0] < str[j][1] && str[j][0] == preb) { for ( k = 0; k < i; k++) { if (node[k].a == str[j][0]) break; } sum += node[k].value; preb = str[j][1]; } if (str[j][1] == e) break; } printf("Case #%d: %d\n", s, sum); s++; } return 0; } |
Double click to view unformatted code.