题目链接:http://poj.org/problem?id=1062

题意就不解释了中问题。

这题用dfs也行。但是感觉还是floyd比较好一点主要是他们交易是有条件的交易总的等级差不能超过m

所以这时floyd中path的属性就用到了,path[i][j].MAX表示i交易到j最大等级是多少path[i][j].MIN表示最小等级是多少

然后接下来就简单了。

#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
#define inf 0X3f3f3f3f
using namespace std;
int n , m , p , l[110] , x[110] , t[110][110] , v , val[110] , dis[110][110];
struct TnT {
int MAX , MIN;
}path[110][110];
int Abs(int x , int y) {
if(x > y)
return x - y;
else
return y - x;
}
void floyd() {
for(int k = 1 ; k <= n ; k++) {
for(int i = 1 ; i <= n ; i++) {
for(int j = 1 ; j <= n ; j++) {
if(dis[i][j] > dis[i][k] + dis[k][j] && Abs(path[i][k].MAX , path[k][j].MIN) <= m && Abs(path[i][k].MIN , path[k][j].MAX) <= m) {
dis[i][j] = dis[i][k] + dis[k][j];
path[i][j].MAX = max(path[i][k].MAX , path[k][j].MAX);
path[i][j].MIN = min(path[i][k].MIN , path[k][j].MIN);
}
}
}
}
}
int main() {
while(cin >> m >> n) {
for(int i = 1 ; i <= n ; i++) {
for(int j = 1 ; j <= n ; j++) {
path[i][j].MAX = n + 1;
path[i][j].MIN = 0;
dis[i][j] = inf;
}
dis[i][i] = 0;
}
for(int i = 1 ; i <= n ; i++) {
cin >> p >> l[i] >> x[i];
val[i] = p;
path[i][i].MAX = l[i];
path[i][i].MIN = l[i];
for(int j = 1 ; j <= x[i] ; j++) {
cin >> t[i][j] >> v;
dis[i][t[i][j]] = v;
}
}
for(int i = 1 ; i <= n ; i++) {
for(int j = 1 ; j <= x[i] ; j++) {
if(Abs(l[i] , l[t[i][j]]) <= m) {
path[i][t[i][j]].MAX = max(l[i] , l[t[i][j]]);
path[i][t[i][j]].MIN = min(l[i] , l[t[i][j]]);
}
else {
dis[i][t[i][j]] = inf;
}
}
}
floyd();
int MIN = inf;
for(int i = 1 ; i <= n ; i++) {
MIN = min(MIN , dis[1][i] + val[i]);
}
cout << MIN << endl;
}
return 0;
}

poj 1062 昂贵的聘礼(floyd path的应用)的更多相关文章

  1. 最短路(Dijkstra) POJ 1062 昂贵的聘礼

    题目传送门 /* 最短路:Dijkstra算法,首先依照等级差距枚举“删除”某些点,即used,然后分别从该点出发生成最短路 更新每个点的最短路的最小值 注意:国王的等级不一定是最高的:) */ #i ...

  2. POJ 1062 昂贵的聘礼(图论,最短路径)

    POJ 1062 昂贵的聘礼(图论,最短路径) Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女 ...

  3. poj 1062 昂贵的聘礼 (dijkstra最短路)

    题目链接:http://poj.org/problem?id=1062 昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submission ...

  4. POJ 1062 昂贵的聘礼

    C - 昂贵的聘礼 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit St ...

  5. 最短路POJ 1062 昂贵的聘礼

    C - 昂贵的聘礼 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit St ...

  6. POJ 1062 昂贵的聘礼(带限制条件的dijkstra)

    题目网址:http://poj.org/problem?id=1062 题目: 昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submis ...

  7. POJ -1062 昂贵的聘礼(前向星 &amp;&amp; SPFA)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u013497151/article/details/30299671 题目链接:id=1062&qu ...

  8. POJ 1062 昂贵的聘礼 (最短路)

    昂贵的聘礼 题目链接: http://acm.hust.edu.cn/vjudge/contest/122685#problem/M Description 年轻的探险家来到了一个印第安部落里.在那里 ...

  9. POJ 1062 昂贵的聘礼(最短路中等题)

    昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 51879   Accepted: 15584 Descripti ...

  10. poj 1062 昂贵的聘礼 (最短路径)

    昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 33365   Accepted: 9500 Descriptio ...

随机推荐

  1. hdoj 3732 Ahui Writes Word (多重背包)

    之前在做背包的题目时看到了这道题,一看,大喜,这不是裸裸的01背包吗!!  然后华丽丽的超时,相信很多人也和我一样没有考虑到数据量的大小. 时隔多日,回过头来看这道题,依旧毫无头绪....不过相比之前 ...

  2. NDK jni mk文件 so文件 巴啦啦 初体验

    概念JNI(Java Native Interface,Java本地接口),实现了Java和其他语言的交互(主要是C/C++),如:Java程序通过JNI调用C/C++编写的在Windows上运行的D ...

  3. zabbix监控WEB网站性能

    一直在纠结用什么实例来给大家演示呢?想来想去还是官方的好,那我们怎么用zabbix监控web性能和可用性呢?我们这边分为几个步骤:打开网站.登陆.登陆验证.退出,一共4个小step,看实例. 检测流程 ...

  4. PYNQ上手笔记 | ① 启动Pynq

    现在人工智能非常火爆,一般的教程都是为博硕生准备的,太难看懂了,分享一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默,点☞这里​​​​​​​☜进入传送门~ = = = = 我是华丽的分割线 = ...

  5. python3从入门到精通之数据类型,布尔类型介绍

    数据的类型 为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型的. Number(数字) int(整型) float(浮点型) complex(复数) bool(布尔) String( ...

  6. 使用Prerender.io进行网站预加载

    我在自己的项目中是采用的前后端分离的技术,前端用的VUE开发,后端是JAVA开发,tomcat部署,nginx转发,但是VUE开发的项目缺点就是不利于SEO,所以针对SEO做了预加载的操作. 决定采用 ...

  7. JQGrid之文件上传

    文件/图片上传功能,简单总结如下 1.引入ajaxfileupload.js 注意:该文件需要在引入Jquery之后引入 下载链接:https://i.cnblogs.com/Files.aspx 2 ...

  8. 调用百度翻译 API 来翻译网站信息

    之前说过jquery.i18n.js 来做网站的中英翻译,前提就得做一套中文内容,一套英文内容来解决,好处是中英翻译可以准确无误,本篇文章我们来看一下调用百度翻译的 API 来进行网站的翻译,但是翻译 ...

  9. C#之反射、元数据详解

    前言 在本节中主要讲述自定义特性.反射和动态编程.自定义特性允许把自定义元数据与程序元素关联起来.这些元数据是在编译过程中创建的,并嵌入程序集中.反射是一个普通的术语,它描述了在运行过程中检查和处理程 ...

  10. 通过 Channel 实现 Goroutine Pool

    最近用到了 Go 从 Excel 导数据到服务器内部 用的是 http 请求 但是发现一个问题 从文件读取之后 新开 Goroutine 会无限制新增 导致全部卡在初始化请求 于是乎就卡死了 问题模拟 ...