#include<bits/stdc++.h> using namespace std; int g[2000][2000]; int f[2000][2000]; int main(){ int n,m,d=0; while(cin>>n>>m&&(n!=0||m!=0)){ memset(f,0,sizeof(f)); memset(g,0,sizeof(g)); for(int i=0;i<m;++i){ int x,y,z; scanf("%d%d%d",&x,&y,&z); if(g[x][y]!=0){ g[x][y]=min(g[x][y],z); g[y][x]=min(g[y][x],z); } else{ g[x][y]=z; g[y][x]=z; } } int w,eli,sum=0,flag=0; scanf("%d%d",&w,&eli); for(int i=0;i<w;++i){ int x,y; scanf("%d%d",&x,&y); if(!flag){ if(f[x][y]==0){ sum+=g[x][y]; f[x][y]=1; f[y][x]=1; } if(y==eli){ flag=1; } } } printf("Case #%d: %d\n",++d,sum); } return 0; } |
Double click to view unformatted code.