zoukankan      html  css  js  c++  java
  • P2299 Mzc和体委的争夺战

    最短路SPFA模板,注意双向边,所以e开两倍。 

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<algorithm>
    #include<cstring>
    #include<queue>
    using namespace std;
    
    int n,m,num,u,v,w;
    int head[200002],dis[200002];
    bool vis[200002];
    queue<int>q;
    
    struct node{
    	int u,v,w,nxt;
    }e[400004];
    
    void add(int u,int v,int w)
    {
    	num++;
    	e[num].v =v;
    	e[num].w =w;
    	e[num].nxt =head[u];
    	head[u]=num;
    }
    
    void spfa()
    {
    	memset(dis,0x3f,sizeof(dis));
    	dis[1]=0;vis[1]=1;
    	int u,v;
    	q.push(1);
    	while(!q.empty())
    	{
    		u=q.front();
    		q.pop();
    		vis[u]=0;
     		for(int i=head[u];i;i=e[i].nxt )
    		{
    			v=e[i].v ;
    			if(dis[v]>dis[u]+e[i].w )
    			{
    				dis[v]=dis[u]+e[i].w ;
    				if(!vis[v])
    				{
     					vis[v]=1;
     					q.push(v);
    				}
    			}
    		}
    	}
    }
    
    int main()
    {
    	scanf("%d%d",&n,&m);
    	for(int i=1;i<=m;++i)
    	{
    		scanf("%d%d%d",&u,&v,&w);
    		add(u,v,w);
    		add(v,u,w);
    	}	
    	spfa();
    	printf("%d",dis[n]);
    	return 0;
    } 

    如果你不开心,那我就把右边这个帅傻子分享给你吧,   

    你看,他这么好看,那么深情的望着你,你还伤心吗?   

    真的!这照片盯上他五秒钟就想笑了。   

    一切都会过去的。 

  • 相关阅读:
    flex
    导航守卫 -vue
    H5 History
    JSX -react
    插槽slot -vue
    js 模拟鼠标绘制方块
    js 模拟滚动条
    js 实现简易留言板功能
    js 实现端口列表话
    js 为数组编写该方法;indexOf
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/9832206.html
Copyright © 2011-2022 走看看