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 ...
随机推荐
- (转)4年python,总结一些改善Python程序的建议
自己写Python也有四五年了,一直是用自己的"强迫症"在维持自己代码的质量.都有去看Google的Python代码规范,对这几年的工作经验,做个简单的笔记,如果你也在学pythp ...
- 使用ansible远程管理集群
使用ansible远程执行命令 1.ansible简介 ansible的官方定义:"Ansible is Simple IT Automation"--简单的自动化IT工具.这个工 ...
- Mysql 导入日文数据乱码问题
做数据迁移后,通过ui发现有日文数据是乱码,通过ui直接修改日文则显示正常. 查了下资料,mysql字符集的作用如下: MySQL字符集设置 • 系统变量:– character_set_server ...
- Collection Lists
ArrayList LinkedList Vector 顺序添加 抽象数据类型(ADT)是一个实现包括储存数据元素的存储结构以及实现基本操作的算法. ArrayList (1)ArrayList是 ...
- Python CookBook(self report)
Python CookBook 中文版:https://python3-cookbook.readthedocs.io/zh_CN/latest/copyright.html 英文版:https:// ...
- webpack4 入门配置研究
1. 全局安装 npm install webpack webpack-cli webpack-dev-server -g 1.1)输密文的密码(电脑开机) 1.2)安装成功 2. 输入命令mkdir ...
- ArcGis基础—shapefile矢量文件与lyr图层文件之间有何区别?
shapefile (.shp) 是一种矢量数据存储格式,用于存储地理要素的位置.形状和属性. shapefile 存储在一组相关文件中,并包含一个要素类. 图层文件 (.lyr) 是存储源数据集路径 ...
- frp 配置多个 web 项目,无需购买域名 (访问内网可视化界面,jupyter noterbook, visdom, tensorboard)
frp 配置多个 web 项目,无需购买域名 简单配置,参考 前言: 网上也有很多教程包括官方文档,都需要购买域名,并且把 frpc.ini 中 [web]节配置的 custom_domains 的 ...
- matplotlib.pyplot 属性用法
import matplotlib.pyplot as plt x_values = list(range(1, 1001)) y_values = [x**2 for x in x_values] ...
- 笔记53 Mybatis快速入门(四)
动态SQL 1.if 假设需要对Product执行两条sql语句,一个是查询所有,一个是根据名称模糊查询.那么按照现在的方式,必须提供两条sql语句:listProduct和listProductBy ...