cf 707B

来源:互联网 发布:java 通用excel导出 编辑:程序博客网 时间:2024/05/21 11:23


点击打开链接


水题,跑一边记录最短的就行了,

wa一次, 忽略两个都不能建的情况。



#include <stdio.h>#include <string.h>#include <iostream>#include <map>#include <math.h>#define LL long longusing namespace std;const int maxn=1e5+10;const int mod=1e9+7;int n,m,k,x,y,len,cnt=0;struct node{    int w,to,val;}edge[maxn*2];int v[maxn],a[maxn];int main(){    scanf("%d %d %d",&k,&n,&m);    for(int i=0;i<n;++i){        scanf("%d %d %d",&edge[i].w,&edge[i].to,&edge[i].val);    }    int mina=1e9+1;    for(int i=0;i<m;++i){        scanf("%d",&a[i]); v[a[i]]=1;    }    for(int i=0;i<n;++i)        if(v[edge[i].w]^v[edge[i].to]&&edge[i].val<mina)            mina=edge[i].val;    if(mina==1e9+1) mina=-1;    printf("%d\n",mina);    return 0;}


0 0
原创粉丝点击