#include<stdio.h> int main() { int value[2000][2000]={0},i,j,v,k=0,sum; int n,t; int w,e,flag; int visited[2000][2000]={0}; scanf("%d%d",&n,&t); while(n!=0||t!=0){ k++; sum=0; flag=1; while(t--){ scanf("%d%d%d",&i,&j,&v); if(v<value[i][j]||value[i][j]==0){ value[i][j]=v; value[j][i]=v; } } scanf("%d%d",&w,&e); while(w--){ scanf("%d%d",&i,&j); if(i==e){//遇到了,接下来不计入路程 flag=0; }else{ if(visited[i][j]==0&&flag==1){ sum+=value[i][j]; } } visited[i][j]=1; visited[j][i]=1; } printf("Case #%d: %d\n",k,sum); scanf("%d%d",&n,&t); } return 0; } |
Double click to view unformatted code.