PKU 1062 昂贵的聘礼
枚举等级范围, 每种情况求最短路
*/
#include <iostream>
#include <queue>
#define MAXN 101
using namespace std;
int MAP[MAXN][MAXN];
int D[MAXN];
int LEV;
int p[MAXN], l[MAXN];
int e[10000][3];
int bellman(int s, int t, int n)
{
bool mk[MAXN] = {false};
queue<int> q;
int i, x, tmp;
for (D[s] = 0, q.push(s); !q.empty(); )
for (x = q.front(), q.pop(), mk[x] = false, i = 0; i < n; i++)
if (MAP[x][i] != INT_MAX && (tmp = D[x] + MAP[x][i]) < D[i])
{
D[i] = tmp;
if (!mk[i])
mk[i] = true, q.push(i);
}
return D[t];
}
int main()
{
int n, i, j, m, w, cur = 0;
int x, y;
int king, lev;
int cost, min_cost;
scanf("%d %d", &LEV, &n);
for (i = 0; i <= n; i++)
MAP[i][0] = INT_MAX;
for (i = 1; i <= n; i++)
{
scanf("%d %d %d", &p[i], &l[i], &m);
while (m--)
{
scanf("%d %d", &j, &w);
e[cur][0] = i;
e[cur][1] = j;
e[cur][2] = w;
cur++;
}
MAP[i][0] = p[i];
}
king = l[1];
min_cost = p[1];
for (lev = king - LEV; lev <= king; lev++)
{
for (i = 0; i <= n; i++)
for (D[i] = INT_MAX, j = 1; j <= n; j++)
MAP[i][j] = INT_MAX;
for (i = 0; i < cur; i++)
{
x = e[i][0];
y = e[i][1];
if (l[x] >= lev && l[x] <= lev+LEV
&& l[y] >= lev && l[y] <= lev+LEV)
MAP[x][y] = e[i][2];
}
cost = spfa(1, 0, n+1);
if (cost < min_cost)
min_cost = cost;
}
printf("%d\n", min_cost);
return 0;
}
转载于:https://www.cnblogs.com/lotus3x/archive/2008/07/23/1249469.html
PKU 1062 昂贵的聘礼相关推荐
- POJ 1062 昂贵的聘礼【经典的最短路问题】
原题链接:http://poj.org/problem?id=1062 我的链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=19651 ...
- 解题报告:POJ - 1062 昂贵的聘礼(最短路、超级源点)
整理的算法模板合集: ACM模板 AcWing 903. 昂贵的聘礼 [思路] 由于本题只有终点,没有起点,所以我们建一个超级源点S=0S = 0S=0 ,源点与各各点的权值就是他们的价格 如下图所示 ...
- POJ 1062 昂贵的聘礼
昂贵的聘礼 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 30252 Accepted: 8465 Descriptio ...
- POJ 1062 昂贵的聘礼 (dijkstra)
昂贵的聘礼 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低要求.酋长说 ...
- POJ 1062.昂贵的聘礼
Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...
- POJ - 1062 昂贵的聘礼
题目链接 Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请 ...
- POJ #1062 昂贵的聘礼 有限制的最短路 枚举+dijkstra求最短路
Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...
- POJ 1062 昂贵的聘礼
一.内容 某天超市搞活动,小明想买一个自己一直想买的电脑,平时需要7000,小明觉得太贵了.但活动当天,超市里的商品可以通过买其他商品获得优惠券.例如买一个键盘然后买电脑只需要5000,如果买一个鼠标 ...
- 【题解】昂贵的聘礼 POJ - 1062 (最短路 经典)⭐⭐⭐⭐
昂贵的聘礼 POJ - 1062 你想娶酋长的女儿,但酋长要求你给一定数额金钱的聘礼.除了金钱外,酋长也允许你用部落里其他人的某物品加上一点钱作为聘礼.而其他人的物品也可以通过指定的另外一些人的某物品 ...
最新文章
- 模块加载过程代码分析1
- Windows下使用gvim格式化xml文件
- java 微分方程求解_Java中的微分方程
- Python Django 原生SQL查询(游标Cursor)
- Powershell 查看软件是否成功安装
- 求职产品经理【十六】笔试真题串讲之百度地图与大数据结合的产品
- “扎金花FANS”进行了改进
- vs mysql 环境安装教程_使用 VS 开发连接 MySQL 的 Web 项目的环境配置
- php 手机端播放器,用JS代码适配电脑端和手机端播放器代码
- BZOJ 2176 Strange string 最小表示法
- [转载] Python基础:用Python统计列表中每个单词出现的次数(split 的使用,for双重循环)
- python读取配置文件使用_如何使用Python3读取配置文件
- c 语言赋值运算符,C/C+编程笔记:运算符—所有编程语言的基础!一文带你搞懂它...
- kindeditor java上传_KindEditor的使用和上传图片的后台处理
- WIN7下怎么安装iis教程
- 菜鸟学-业务流程图、数据流图、模块结构图
- Specification查询
- 中移物联网采购4G行车记录仪
- 使用python的wordcloud包实现中文标签云制作
- 电视剧中一看就让人崩溃的镜头大全~
热门文章
- badusb代码_badusb攻击代码
- 路由器php系统时间设置时间设置时间设置时间设置时间设置,win7电脑提示系统时间设置有误请更新系统日期...
- linux启用dcb步骤,Linux DCB体系——简短概述
- 只能输入数字或含两位小数的正则
- 基线_Origin入门教程(九):扣除基线常用小妙招
- 多次为 selecttemp 指定了列 bstkd_36列城市铁路列车、轨道诊断、货车大修、调车机车备品备件招标...
- R语言学习系列(数据挖掘之决策树算法实现--ID3代码篇)
- 每个电商企业都应该分析的9种数据
- BIRCH算法(Java实现)
- 如何利用大数据进行价值兑现才是正经事