问题描述
题目链接: http://codeforces.com/problemset/problem/707/B
思路
大意是求不是仓库的城市与仓库之间的最短距离。
代码
#include <iostream>
#include <cstdio>
#include <cstring>
const int N = 100005;
const int inf = 2e9;
int u[N],v[N],L[N],s[N];
using namespace std;
int main()
{
int n,m,i,k,g,ans;
scanf("%d%d%d",&n,&m,&k);
for(i=0;i<m;i++)
scanf("%d%d%d",&u[i],&v[i],&L[i]);
ans=inf;
for(i=0;i<k;i++)
{
scanf("%d",&g);
s[g]=1;
}
for(i=0;i<m;i++)
{
if(s[u[i]]!=s[v[i]])
{
if(ans>L[i])
ans=L[i];
}
}
if(ans==inf)
printf("-1\n");
else
printf("%d\n",ans);
return 0;
}