A - Til the Cows Come Home

思路:板子。
#include<queue>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 2010
using namespace std;
int n,m,tot;
int vis[MAXN],dis[MAXN];
int to[MAXN*2],net[MAXN*2],cap[MAXN*2],head[MAXN];
void add(int u,int v,int w){
    to[++tot]=v;cap[tot]=w;net[tot]=head[u];head[u]=tot;
    to[++tot]=u;cap[tot]=w;net[tot]=head[v];head[v]=tot;
}
void spfa(int s){
    queue<int>que;
    memset(vis,0,sizeof(vis));
    memset(dis,0x3f,sizeof(dis));
    que.push(s);vis[s]=1;dis[s]=0;
    while(!que.empty()){
        int now=que.front();
        que.pop();vis[now]=0;
        for(int i=head[now];i;i=net[i])
            if(dis[to[i]]>dis[now]+cap[i]){
                dis[to[i]]=dis[now]+cap[i];
                if(!vis[to[i]]){
                    vis[to[i]]=1;
                    que.push(to[i]);
                }
            }
    }
}
int main(){
    scanf("%d%d",&m,&n);
    for(int i=1;i<=m;i++){
        int x,y,z;
        scanf("%d%d%d",&x,&y,&z);
        add(x,y,z);
    }
    spfa(n);
    cout<<dis[1];
}

 

细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。