#include<stdio.h> #include <string.h> #include <math.h> struct place{ int a,b,c; }; struct place p[1000]; void main() { int i=0,n,j,t,k,m,w,e,c[1000],d[1000],q=1,sum,temp,flag; while(scanf("%d%d",&n,&t)) { if(n==0&&t==0) break; for(i=0;i<t;i++) { scanf("%d%d%d",&p[i].a,&p[i].b,&p[i].c); } for(i=0;i<t;i++) { for(j=i+1;j<t;j++) { if(p[i].a==p[j].a) { if(p[i].c>p[j].c) p[i].c=p[j].c; else p[j].c=p[i].c; } } } scanf("%d%d",&w,&e); sum=0;temp=0;flag=0; for(j=0;j<w;j++) { scanf("%d%d",&c[j],&d[j]); } if(c[0]<d[w-1]) { for(j=c[0];j<d[w-1];j++) { if(j==e) break; for(k=0;k<t;k++) { if(j==p[k].a) { j=p[k].b-1; sum=p[k].c; break; } } temp=temp+sum; } printf("Case #%d: %d\n",q++,temp); } else { for(j=c[0];j>d[w-1];j--) { if(j==e) break; for(k=0;k<t;k++) { if(j==p[k].b) { j=p[k].a+1; sum=p[k].c; break; } } temp=temp+sum; } printf("Case #%d: %d\n",q++,temp); } } } |
Double click to view unformatted code.