Pagini recente » Cod sursa (job #2263246) | Cod sursa (job #129827) | Cod sursa (job #112099) | Cod sursa (job #2297686) | Cod sursa (job #671937)
Cod sursa(job #671937)
#include <iostream>
#include <fstream>
using namespace std;
ofstream fout("ubuntzei.out");
int v[16],a[2001][2001],n,m,k,d[2001],coada[2001],viz[2001];
void citire()
{
freopen ("ubuntzei.in","r",stdin);
scanf("%d%d%d", &n,&m,&k);
for(int i=1;i<=k;i++)
scanf("%d",&v[i]);
for(int i=1;i<=m;i++)
{
int x,y,s;
scanf("%d%d%d",&x,&y,&s);
a[x][y]=a[y][x]=s;
}
}
int dijktra(int x,int y)
{
coada[1]=x;
viz[x]=1;
int dr=1,s=1;
do{
for(int i=1;i<=n;i++)
if(a[coada[s]][i]!=0 && d[i]==0 && viz[i]==0)
{
viz[i]=1;
d[i]=d[coada[s]]+a[coada[s]][i];
coada[++dr]=i;
}
else if(a[coada[s]][i]!=0 && d[coada[s]]+a[coada[s]][i]<d[i])
d[i]=d[coada[s]]+a[coada[s]][i];
s+=1;
}while(s<=dr);
return d[y];
}
int main()
{
citire();
fout<<dijktra(1,n);
return 0;
}