#include<iostream> #include<string.h> #include<math.h> int dis[2010][2010]; bool us[2010][2010]; using namespace std; int main(){ int n; int t; int k=0; while(cin>>n>>t && (n!=0 && t!=0)){ int a,b,va;k++; int x; memset(dis,0,sizeof(dis)); memset(us,true,sizeof(us)); for(int i=0;i<t;i++){ cin>>a>>b>>va; if(dis[a][b]!=0){ x=min(va,dis[a][b]); dis[a][b]=x; dis[b][a]=x; } else{ dis[a][b]=va; dis[b][a]=va; } } //cout<<dis[5][6]<<' '<<dis[4][5]<<endl; int w,e; cin>>w>>e; int c,d; int sum=0; for(int i=0;i<w;i++){ cin>>c>>d; // cout<<c<<' '<<d<<endl; if(dis[c][d]!=0 && us[c][d]==true){ // cout<<c<<' '<<d<<' '<<dis[c][d]<<endl; sum+=dis[c][d]; us[c][d]=false; us[d][c]=false; } if(d==e){ memset(us,false,sizeof(us)); } } printf("Case#%d: ",k); printf("%d\n",sum); } } |
Double click to view unformatted code.