#include<stdio.h>

#include<string.h>

#include<queue>

#include<iostream>

using namespace std;

#define inf 1000000000

#define N 110000

struct node {

int u,v,w,next;

}bian[N*2];

int head[N],yong,mindistance[N],n,visit[N],countt[N];

void addedge(int u,int v,int w) {

bian[yong].u=u;

bian[yong].v=v;

bian[yong].w=w;

bian[yong].next=head[u];

head[u]=yong++;

}

void min_spfa(int cur) { 

  int i;

  for(i=0;i<=n;i++) {

  mindistance[i]=inf;

  visit[i]=0;

  countt[i]=0;//原来在c++中的某些关键字不能乱用比如说count之类

  }

  visit[cur]=1;

  queue<int>q;

  q.push(cur);

  mindistance[cur]=0;

  while(!q.empty()) {

   cur=q.front();

  q.pop();

  for(i=head[cur];i!=-1;i=bian[i].next) {

  int v=bian[i].v;

  if(mindistance[v]>mindistance[cur]+bian[i].w) {

  mindistance[v]=mindistance[cur]+bian[i].w;

  if(!visit[v]) {

  if(++countt[v]>n)

 return ;

visit[v]=1; 

 q.push(v);

  }

  }

  }

  visit[cur]=0;

  }

  return ;

}

int main() {

      int i,a,b,c,dis[N],sum,minsum;

 while(scanf("%d",&n)!=EOF) {

   yong=0;

memset(head,-1,sizeof(head));

for(i=0;i<=n;i++)

scanf("%d",&dis[i]);

sum=0;

for(i=0;i<n;i++) {

scanf("%d%d%d",&a,&b,&c);

addedge(a,b,c);

addedge(b,a,c);

sum=sum+c*2;

}

 min_spfa(0);

 minsum=sum+dis[0];

 for(i=1;i<=n;i++) {

 if(minsum>sum-mindistance[i]+dis[i])

 minsum=sum-mindistance[i]+dis[i];

 }

 printf("%d\n",minsum);

 }

return 0;

}

hdu 4171 最短路的更多相关文章

  1. ACM: HDU 2544 最短路-Dijkstra算法

    HDU 2544最短路 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descrip ...

  2. UESTC 30 &&HDU 2544最短路【Floyd求解裸题】

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  3. hdu 5521 最短路

    Meeting Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  4. HDU - 2544最短路 (dijkstra算法)

    HDU - 2544最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以 ...

  5. HDU2112 HDU Today 最短路+字符串哈希

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  6. hdu 2544 最短路

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shi ...

  7. hdu 2544 最短路 Dijkstra

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目分析:比较简单的最短路算法应用.题目告知起点与终点的位置,以及各路口之间路径到达所需的时间, ...

  8. HDU - 2680 最短路 spfa 模板

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2680 题目大意,就是一个人可以从多个起点开始出发,看到终点的最短路是多少..只有可以运用和hdu2066 ...

  9. HDU 2066 最短路floyd算法+优化

    http://acm.hdu.edu.cn/showproblem.php?pid=206 题意 从任意一个邻居家出发 到达任意一个终点的 最小距离 解析 求多源最短路 我想到的是Floyd算法 但是 ...

随机推荐

  1. mkisofs

    createrepo -g /enp/comps.xml . yum -y --downloadonly --downloaddir=/enp/Packages upgrade mkisofs -o ...

  2. codevs1040统计单词个数(区间+划分型dp)

    1040 统计单词个数 2001年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 给出一个长度不超 ...

  3. C 语言程序员必读的 5 本书

    你正通过看书来学习C语言吗?书籍是知识的丰富来源.你可以从书中学到各种知识.书籍可以毫无歧视地向读者传达作者的本意.C语言是由 Dennis Ritchie在1969年到1973年在贝尔实验室研发的. ...

  4. Python/Django 下载Excel2003

    一.安装 目前支持Excel2003的第三方库多少还有几个,本文使用的是xlwt,安装方式命令行:pip install xlwt 二.使用 首先.引入该库,例如:from xlwt import * ...

  5. android GPS 定位,取位置信息

    现在很多app ,需要取位置信息,所以我也做了一个模块用来取位置信息:   加入位置服务所需的权限: <uses-permission android:name="android.pe ...

  6. 巧用Eclipse Java编辑器调试

    在使用Eclipse开发Java Web应用时,使用的编辑器不但能够为开发者提供代码编写.辅助提示和实时编译等常用功能,而且还能够对Java源代码进行快捷修改.重构和语法纠错等高级操作.通过Eclip ...

  7. PHP开发之旅-表单验证

    一.创建表单 <form name = "login" method = "post" action="contact.php?action=l ...

  8. animation仿进度条

    animation:使用的好可以有很多酷炫效果 仿进度条效果.

  9. 【PL/SQL】触发器示例:记录加薪

    首先创建一张表,用于保存薪资变化情况: --创建加薪记录表 CREATE TABLE scott.raisedsalarylog ( empno ) NOT NULL PRIMARY KEY, --员 ...

  10. 3星|《刷新》:微软第三任CEO上任三年后的回顾

    刷新:重新发现商业与未来 作者是微软第三任CEO,2014年2月上任.本书英文版出版于2017年9月,全书内容大致截至于2017年年初,算是作者上任三年后的回顾. 书中作者讲了不少自己的个人经历.作者 ...