Alice拜年 模板题 /// 最短路Dijk oj1344
题目大意:
大年初一,Alice带上拜年礼物去给N-1位亲朋好友长辈拜年,亲友真多啊,是个大家族。由于Alice才2岁,力气不大,每次只能拿一份礼物,拜完年之后,要回家取第二份礼物,然后去下一家拜年(无语了)。为了表示对亲朋长辈的尊敬,Alice每次都从家步行去到对方家里,拜完年由爸爸骑自行车带回家(彻底无语)。可怜天下父母心啊,爸爸全程陪着Alice折腾。
假设Alice的住址编号为1,各亲朋好友的家分别编号为 2 ~ N 。这个城市的道路都是单向的(别惊奇,这个世界无奇不有),共有M条道路,每条道路长短不一。求Alice给这 N-1 个家庭拜完年,最少步行了多少路程?
输入的第一行是两个整数 N 和 M,1 ≤ N ≤ 1000, 1 ≤ M ≤ 100000
接下来M行,每行3个正整数 U ,V ,W ,表示该条道路是从节点U到节点V的,这条道路共有W米。满足 1 ≤ U, V ≤ N , 1 ≤ W ≤ 10000 ,保证任意两点都能互相到达。
注意本题有重边。
输出一行,包含一个整数,为Alice最少步行的路程。
5 10
2 3 5
1 5 5
3 5 6
1 2 8
1 3 8
5 3 4
4 1 8
4 5 3
3 5 6
5 4 2
28
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
int n,m,a[][];
int dis[],flag[];
void dijk()
{
for(int i=;i<n;i++)
{
int mini=INF,u;
for(int j=;j<=n;j++)
if(!flag[j]&&dis[j]<mini)
{
mini=dis[j];
u=j;
}
if(mini==INF) break;
flag[u]=;
for(int j=;j<=n;j++)
if(dis[j]>dis[u]+a[u][j]&&!flag[j]&&a[u][j]<INF)
dis[j]=dis[u]+a[u][j];
}
}
int main()
{
scanf("%d%d",&n,&m);
int u,v,w,sum=;
memset(a,INF,sizeof(a));
memset(flag,,sizeof(flag));
memset(dis,INF,sizeof(dis));
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&u,&v,&w);
a[u][v]=min(w,a[u][v]); /// 有重边 取小
}
for(int i=;i<=n;i++)
dis[i]=a[][i]; /// dis[i]=a[起点][i]
dis[]=;
flag[]=;
dijk();
for(int i=;i<=n;i++)
sum+=dis[i];
printf("%d",sum); return ;
}
Dijkstra求最短路+输出路径 模板 http://www.cnblogs.com/Rubbishes/p/7687600.html
Alice拜年 模板题 /// 最短路Dijk oj1344的更多相关文章
- poj1511/zoj2008 Invitation Cards(最短路模板题)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Invitation Cards Time Limit: 5 Seconds ...
- HDU 2544 最短路(模板题——Floyd算法)
题目: 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你 ...
- HDU 5521.Meeting 最短路模板题
Meeting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...
- [poj2449]Remmarguts' Date(K短路模板题,A*算法)
解题关键:k短路模板题,A*算法解决. #include<cstdio> #include<cstring> #include<algorithm> #includ ...
- [USACO07FEB]银牛派对Silver Cow Party---最短路模板题
银牛排队 对于我这种蒟蒻来说,还是不要跑一次单元最短路.跑两次好写呀(- ̄▽ ̄)- 而题目中是有向图.如果如果按照题意进行最短路的话.就会出现一个单终点最短路和一个单起点最短路 对于单起点自然就是套模 ...
- 牛客小白月赛6 I 公交线路 最短路 模板题
链接:https://www.nowcoder.com/acm/contest/136/I来源:牛客网 题目描述 P市有n个公交站,之间连接着m条道路.P市计划新开设一条公交线路,该线路从城市的东站( ...
- HDU-2544 最短路 Dijkstra模板题
题目链接:https://vjudge.net/problem/HDU-2544 题意: 题目要求找到节点1到节点n之间的一条最短路 分析: Dijkstra模板题 单源最短路径,可以用dijkstr ...
- HDU 2544 最短路 【Dijkstra模板题】
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2544 思路:最短路的模板题 Dijkstra 算法是一种类似于贪心的算法,步骤如下: 1.当到一个点时, ...
- POJ 2387 Til the Cows Come Home --最短路模板题
Dijkstra模板题,也可以用Floyd算法. 关于Dijkstra算法有两种写法,只有一点细节不同,思想是一样的. 写法1: #include <iostream> #include ...
随机推荐
- JS对象的引用,对象的拷贝
目录 一.场景 二.浅拷贝 三.深拷贝 一.场景 除了基本类型跟null,对象之间的赋值,只是将地址指向同一个,而不是真正意义上的拷贝 将一个对象赋值给另外一个对象. var a = [1,2,3]; ...
- HTTPS 加密原理探究
由于之前项目中IOS系统建议将http协议换成https协议所以查看相关资料在此记录 HTTPS 通讯过程的基本原理 问:Https是什么? 答: HTTP 协议定义了一套规范,让客户端或浏览器可以和 ...
- 基于V8的JsonMapper
<dependency> <groupId>com.eclipsesource.j2v8</groupId> <artifactId>j2v8_win3 ...
- *&m与m的区别
int *a;int * &p=a; 把 int * 看成一个类型,a就是一个整型指针,p 是a的别名 #include<iostream> using namespace std ...
- Elasticsearch介绍和安装与使用
转载:https://blog.csdn.net/weixin_42633131/article/details/82902812 1.Elasticsearch介绍和安装 1.1.简介1.1.1.E ...
- 基础补充(四)——流程控制之if、while、for,break与continue
流程控制 一.流程控制之if……else…… if 条件1: 缩进的代码块 elif 条件2: 缩进的代码块 elif 条件3: 缩进的代码块 ...... else: 缩进的代码块 二.流程控制之 ...
- Unity中嵌入网页插件Embedded Browser2.1.0
背景 最近刚换了工作,新公司不是做手游的,一开始有点抵触,总觉得不是做游戏自己就是跨行了,认为自己不对口,但是慢慢发现在这可以学的东西面很广,所以感觉又到了打怪升级的时候了,老子就在这进阶了. 一进公 ...
- 基于OpenResty与Consul实现服务网格ServiceMesh
一.逻辑架构 1.基于OpenResty开发智能代理: 利用其动态可编程特性,动态化配置nginx服务路由: 2.需要向OpenResty添加weibo开源的upsync服务发现模块: 3.基于con ...
- web APP 开发之踩坑手记
屏蔽输入框怪异的内阴影 -webkit-appearance:none 禁止自动识别电话和邮箱 <meta content="telephone=no" name=" ...
- JavaScript小实例-文本循环变色效果
在现实生活中我们常常看到文字循环变色的效果,此效果不仅能让人们印象深刻,还提高了美观度,代码及注释如下: <!DOCTYPE html> <html> <head> ...