Cod sursa(job #860579)

Utilizator fulgerulnegruFMI Ekart Dragos-Ioan fulgerulnegru Data 20 ianuarie 2013 13:24:21
Problema Ubuntzei Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream in ("ubuntzei.in");
ofstream out ("ubuntzei.out");
vector<vector<int> > *a;
vector<int> *v1;

int main (){
  int n,m,k,i,j,t;
  in>>n>>m>>k;
  vector<vector<int> > d(n,vector<int>(n,100000));
  a = &d;
  vector<int>v(k);
  v1 = &v;

  for(i=0;i<k;i++)
    in>>v[i];

  for(i=0;i<m;i++)
  {
    in>>j>>t;
    j--;t--;
    in>>d[j][t];
    d[t][j] = d[j][t];
  }

  for(t=0;t<n;t++)
    for(i=0;i<n;i++)
      for(j=0;j<n;j++)
        if(d[i][j] > d[i][t] + d[t][j])
        {
          d[i][j] = d[i][t] + d[t][j];
        }

  //cout<<"\n";
  //for(i=0;i<n;i++)
  //{
    //for(j=0;j<n;j++)
      //cout<<d[i][j]<<" ";
    //cout<<"\n";
  //}
  //
  if(k==1)
    out<<d[0][v[0]]+d[v[0]]][n-1];
  if(k==0
    out<<d[0][n-1];

  return 0;
}