最短路(Dijkstra) POJ 1062 昂贵的聘礼
- /*
- 最短路:Dijkstra算法,首先依照等级差距枚举“删除”某些点,即used,然后分别从该点出发生成最短路
- 更新每个点的最短路的最小值
- 注意:国王的等级不一定是最高的:)
- */
- #include <cstdio>
- #include <iostream>
- #include <algorithm>
- #include <cmath>
- #include <map>
- #include <vector>
- #include <cstring>
- #include <string>
- using namespace std;
- const int MAXN = 1e2 + ;
- const int INF = 0x3f3f3f3f;
- int d[MAXN];
- int cost[MAXN][MAXN];
- int x[MAXN];
- int lv[MAXN];
- int used[MAXN];
- int Dijkstra(int n)
- {
- for (int i=; i<=n; ++i) d[i] = cost[][i];
- for (int i=; i<=n; ++i)
- {
- int x = ;
- int mn = INF;
- for (int j=; j<=n; ++j)
- {
- if (!used[j] && d[j] < mn) mn = d[x=j];
- }
- if (x == ) break;
- used[x] = ;
- for (int j=; j<=n; ++j)
- {
- if (!used[j] && cost[x][j] > )
- d[j] = min (d[j], d[x] + cost[x][j]);
- }
- }
- return d[];
- }
- int main(void) //POJ 1062 昂贵的聘礼
- {
- //freopen ("C.in", "r", stdin);
- int n, m;
- while (~scanf ("%d%d", &m, &n))
- {
- memset (used, , sizeof (used));
- memset (d, , sizeof (d));
- memset (cost, , sizeof (cost));
- for (int i=; i<=n; ++i)
- {
- scanf ("%d%d%d", &cost[][i], &lv[i], &x[i]);
- for (int j=; j<=x[i]; ++j)
- {
- int t, u;
- scanf ("%d%d", &t, &u);
- cost[t][i] = u;
- }
- }
- int tmp, ans = INF, maxlv;
- for (int i=; i<=n; ++i)
- {
- maxlv = lv[i];
- for (int j=; j<=n; ++j)
- {
- if (lv[j] > maxlv || maxlv - lv[j] > m) used[j] = ;
- else used[j] = ;
- }
- tmp = Dijkstra (n);
- ans = min (ans, tmp);
- }
- printf ("%d\n", ans);
- }
- return ;
- }
最短路(Dijkstra) POJ 1062 昂贵的聘礼的更多相关文章
- POJ 1062 昂贵的聘礼(图论,最短路径)
POJ 1062 昂贵的聘礼(图论,最短路径) Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女 ...
- poj 1062 昂贵的聘礼 (dijkstra最短路)
题目链接:http://poj.org/problem?id=1062 昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submission ...
- POJ - 1062 昂贵的聘礼(最短路Dijkstra)
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %I64d & %I64u SubmitStatus Descr ...
- 最短路POJ 1062 昂贵的聘礼
C - 昂贵的聘礼 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit St ...
- POJ 1062 昂贵的聘礼(带限制条件的dijkstra)
题目网址:http://poj.org/problem?id=1062 题目: 昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submis ...
- POJ 1062 昂贵的聘礼 (最短路)
昂贵的聘礼 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/M Description 年轻的探险家来到了一个印第安部落里.在那里 ...
- poj 1062 昂贵的聘礼 (有限制的最短路)
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 56594 Accepted: 17083 Descripti ...
- POJ 1062 昂贵的聘礼(最短路中等题)
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 51879 Accepted: 15584 Descripti ...
- POJ 1062 昂贵的聘礼
C - 昂贵的聘礼 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit St ...
随机推荐
- Hadoop之伪分布环境搭建
搭建伪分布环境 上传hadoop2.7.0编译后的包并解压到/zzy目录下 mkdir /zzy 解压 tar -zxvf hadoop.2.7.0.tar.gz -C /zzy 配置hado ...
- Java中的final修饰符
1.什么时候可以选择final修饰符 如果想让一个类不被其他类继承,不允许在有子类,这时候就要考虑用到final来修饰. 2.用final修饰的类 首先大家要明白,用final修饰的类是不能被继承的, ...
- Java笔记--泛型总结与详解
泛型简介: 在泛型没有出来之前,编写存储对象的数据结构是很不方便的.如果要针对每类型的对象写一个数据结构, 则当需要将其应用到其他对象上时,还需要重写这个数据结构.如果使用了Object类型, ...
- Unity3D模型的细致纹理问题解决办法
http://hunterwang.diandian.com/post/2012-09-28/40039798509 也许有人也遇到过同样的问题,也许解决方式不同,我来介绍一下偶尔尝试发现的解决办法. ...
- 彻底理解数字图像处理中的卷积-以Sobel算子为例
彻底理解数字图像处理中的卷积-以Sobel算子为例 作者:FreeBlues 修订记录 2016.08.04 初稿完成 概述 卷积在信号处理领域有极其广泛的应用, 也有严格的物理和数学定义. 本文只讨 ...
- 7 Types of Regression Techniques you should know!
翻译来自:http://news.csdn.net/article_preview.html?preview=1&reload=1&arcid=2825492 摘要:本文解释了回归分析 ...
- nginx学习(二):初识配置文件
nginx的配置文件默认在nginx安装目录中的conf子目录中,主配置文件为nginx.conf, root@mgmserver conf]# pwd/usr/local/nginx/conf一.配 ...
- Aptana插件安装到eclipse和myeclipse的详细过程
刚开始学习Jquery,为了搭建好的环境是很重要的,所以我尝试了很多方式,下面之一. 一.要下载好Aptana 插件 官网: http://update1.aptana.org/studio/3.2/ ...
- DICOM:DICOM3.0网络通信协议(续)
转载:http://blog.csdn.net/zssureqh/article/details/44278693 题记: 近一年来一直坚持周末写博客,整理工作和闲暇之余的点点滴滴.对于新知识点.新技 ...
- [ruby on rails] 跟我学之(9)删除数据
首先需要在index页加个删除链接,并提供一个删除的确认,用户确认删除时,直接删除数据. 修改views 修改 app/views/posts/index.html.erb,如下: <h1> ...