View Code of Problem 14

#include<bits/stdc++.h>
using namespace std;

int main(void)
{
  int n,t,i,j,w,e,sum,num,flag;
  int a,b,val;
  vector <vector<int> > map(2000,vector<int>(2000,10000));
  num=0;
  while(cin>>n>>t)
  {
    if(n==0&&t==0)
      break;
    ++num;
    sum=0;
    for(i=0;i<t;++i)
    {
      cin>>a>>b>>val;
      if(map[a][b]>val)
      { map[a][b]=val;map[b][a]=val;}
    }
    cin>>w>>e;
    flag=1;
    for(i=0;i<w;++i)
    {
      cin>>a>>b;
      if(flag)
      {
        sum+=map[a][b];
        map[a][b]=0;
        map[b][a]=0;
        if(b==e)
          flag=0;
      }
    }
    cout<<"Case #"<<num<<": "<<sum<<endl;
    for(i=0;i<2000;++i)
      for(j=0;j<2000;++j)
		  map[i][j]=10000;
  }
}

Double click to view unformatted code.


Back to problem 14