Cod sursa(job #859142)

Utilizator fulgerulnegruFMI Ekart Dragos-Ioan fulgerulnegru Data 19 ianuarie 2013 19:08:19
Problema Ubuntzei Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream in ("ubuntzei.in");
ofstream out ("ubuntzei.out");

int main (){
  int n,m,k,i,j,t;
  in>>n>>m>>k;
  vector<vector<int> > d(n,vector<int>(n,100000));

  for(i=0;i<k;i++)
    in>>j;

  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][k] && d[k][j] && i != j && 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";
  }

  out<<d[0][n-1];

  return 0;
}