#include<iostream> #include<algorithm> using namespace std; struct dd{ int bg; int end; int Long; int repert; }l[2000]; bool compare(dd a, dd b){ if (a.bg == b.bg && a.end == b.end)return a.Long < b.Long; return a.bg < b.bg; } int main() { int n, t,court=1; while (cin >> n >> t) { if (t == 0 && n == 0)break; for (int i = 0; i < t; i++) { int a, b, value; cin >> a>>b>> value; l[i].bg = a; l[i].end = b; l[i].Long = value; l[i].repert = 0; } sort(l, l + t, compare); for (int i = 0; i < t; i++) { if (i!=(t - 1)&&l[i].bg == l[i + 1].bg && l[i].end == l[i + 1].end) { for (int j = i+1; j < t; j++) { l[j] = l[j + 1]; } //数组长度减一 t--; //重新判断 i--; } } int w, e, sum=0; cin >> w >> e; for (int i = 0; i < w; i++) { int c,d; cin >> c >> d; for (int i = 0; i < t; i++) { if (c == l[i].bg && d == l[i].end&& l[i].repert!=1) { sum += l[i].Long; l[i].repert = 1; } if (d == l[i].bg && c == l[i].end && l[i].repert != 1) { sum += l[i].Long; l[i].repert = 1; } } if (d == e)break; } cout << "Case #" << court << ":" << sum << endl; court++; } } |
Double click to view unformatted code.