zoukankan      html  css  js  c++  java
  • Bakery

    题目

    CF707B

    注意事项

    啊啊啊啊啊 注意无向边要建两条边!!!建两条边的话Edge的条数要*2!!!贡献WA和RE OMG

    代码

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int MAXN=100005;
    const int INF=0x3f3f3f3f;
    int n,m,k;
    struct Edge{
    	int next,to,w; 
    }edge[MAXN<<1];
    int head[MAXN];
    int supply[MAXN];
    bool sup[MAXN];
    int cnt;
    void add_edge(int u,int v,int w){
    	edge[++cnt].to=v;
    	edge[cnt].w=w;
    	edge[cnt].next=head[u];
    	head[u]=cnt;
    	edge[++cnt].to=u;
    	edge[cnt].w=w;
    	edge[cnt].next=head[v];
    	head[v]=cnt;
    } 
    int main(){
    	scanf("%d%d%d",&n,&m,&k);
    	int u,v,w;
    	for(int i=1;i<=m;i++){
    		scanf("%d%d%d",&u,&v,&w); 
    		add_edge(u,v,w);
    	}
    	if(k==0){ 
    		printf("-1
    ");
    		return 0;
    	}
    	for(int i=1;i<=k;i++){
    		scanf("%d",&supply[i]);
    		sup[supply[i]]=true; 
    	}
    	int ans=INF; 
    	for(int i=1;i<=k;i++){
    		int to;
    		for(int j=head[supply[i]];j;j=edge[j].next){
    			to=edge[j].to;
    			if(sup[to]) continue;
    			ans=ans>edge[j].w?edge[j].w:ans;
    		}
    	}
    	if(ans==INF) printf("-1
    ");
    	else printf("%d
    ",ans);
    	return 0;
    }
    
  • 相关阅读:
    单词 统计
    第十周学习记录
    梦断代码阅读笔记03
    梦断代码阅读笔记02
    梦断代码阅读笔记01
    用户模板和用户场景
    第九周学习记录
    分享好友-分享朋友圈
    生命周期函数-页面刷新
    底部导航的设置
  • 原文地址:https://www.cnblogs.com/xuwanwei/p/12831535.html
Copyright © 2011-2022 走看看