汤姆斯的天堂梦(par)
汤姆斯的天堂梦(par)
【问题描述】
汤姆斯生活在一个等级为0的星球上。那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍。他向往着等级为N的星球上天堂般的生活。
有一些航班将人从低等级的星球送上高一级的星球,有时需要向驾驶员支付一定金额的费用,有时却又可以得到一定的金钱。
汤姆斯预先知道了从0等级星球去N等级星球所有的航线和需要支付(或者可以得到)的金钱,他想寻找一条价格最低(甚至获得金钱最多)的航线。
【输入】
第一行一个正整数N(N≤100),接下来的数据可分为N个段落每段的第一行一个整数Ki(Ki≤100),表示等级为i的星球有Ki个。
接下来的Ki中第Tij行依次表示与等级为i,编号为i的星球相连的等级为i-l的星球的编号和此航线需要的费用(正数表示支出,负数表示收益,费用的绝对值不超过1000)。
每行以0结束,每行的航线数≤100。
【输出】
输出所需(或所得)费用。正数表示支出,负数表示收益。
【输入样例】
3
2
1 15 0
1 5 0
3
1 -5 2 10 0
1 3 0
2 40 0
2
1 1 2 5 3 -5 0
2 -19 3 -20 0
【输出样例】
-1
【数据范围】
对于100%的数据N≤100 Ki≤100。
【样例解释】
如右图
=================================
可能有双边...三边....四边...n边...这个要判断...
=======================
{
ID:jie19952
PROG:
LANG:PASCAL
}
var
n:longint;
map:array[0..100,0..100,0..100]of longint;
bool_map:array[0..100,0..100,0..100]of boolean;
map_num:array[0..100]of longint; //表示每层有多少个..
f:array[0..100,0..100]of longint;
procedure init;
begin
assign(input,'par.in');
assign(output,'par.out');
reset(input); rewrite(output);
end;
procedure terminate;
begin
close(input); close(output);
halt;
end;
procedure main;
var
i,j,k:longint;
x,t:longint;
ans:longint;
begin
readln(n);
fillchar(bool_map,sizeof(bool_map),false);
map_num[0]:=1;
for i:=1 to n do
begin
readln(map_num[i]); //表示第i层有多少个..
for j:=1 to map_num[i] do
begin
read(x);
while x<>0 do
begin
read(t); //表示第i层的第j个与i-1层的第x个
if bool_map[i,j,x] then
begin
if t<map[i,j,x] then map[i,j,x]:=t;
end
else map[i,j,x]:=t;
bool_map[i,j,x]:=true;
read(x);
end;
end;
end;
f[0,1]:=0;
for i:=1 to n do
begin
for j:=1 to map_num[i] do
begin
f[i,j]:=maxlongint;
for k:=1 to map_num[i-1] do
if bool_map[i,j,k] then
begin
if f[i,j]>f[i-1,k]+map[i,j,k] then
f[i,j]:=f[i-1,k]+map[i,j,k];
end;
end;
end;
ans:=maxlongint;
for i:=1 to map_num[n] do
if f[n,i]<ans then ans:=f[n,i];
writeln(ans);
end;
begin
init;
main;
terminate;
end.
汤姆斯的天堂梦(par)相关推荐
- 洛谷 P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)
P1796 汤姆斯的天堂梦_NOI导刊2010提高(05) 题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的 ...
- 【t100】汤姆斯的天堂梦
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向 ...
- 洛谷P1796 汤姆斯的天堂梦
传送门 题目描述 汤姆斯生活在一个等级为 00 的星球上.那里的环境极其恶劣,每天 1212 小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为 NN 的星球上天堂般的生活. 有一些航班将人从低等级的 ...
- P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)
题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...
- P1796 汤姆斯的天堂梦
题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...
- P1796 汤姆斯的天堂梦(动态规划)
题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...
- 汤姆斯的天堂梦_NOI导刊2010提高(05)【洛谷P1796】
题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...
- 洛谷P1796 汤姆斯的天堂梦【DP-数字三角形模型】【橙】
Date:2022.01.11 题意:从第0层到第N层最短路径,注意边权有负数. 思路:关于SPFA它已经死了. f[i][j]f[i][j]f[i][j]:从第000行第111个点 ~ 第iii行第 ...
- DP专题--P1796 汤姆斯的天堂梦
这道题输入的时候要注意判断a是不是0 f [ i ] [ j ] 表示第i等级的第j号星球 存的是最小路费 这个状态如何得到呢 只要遍历上一个等级 也就是 i - 1 级的所有星球 将到达i ...
最新文章
- 区块链教程Fabric1.0源代码分析Tx(Transaction 交易)一
- [CSA35G][XSY3318]Counting Quests (DP)
- vue-router中hash模式、history模式原理
- 随机访问介质控制协议
- MAP地图报错Unable to preventDefault inside passive event listener invocation.
- 企业应用大数据探索发展新路径
- Ukey双因素身份认证步骤 安当加密
- Photoshop CC 2020软件安装教程
- php开源视频cms,迅睿PHP开源视频电影CMS系统
- Idea设置豆沙绿(保护你的眼不瞎的密码)
- @Resource报错
- java短信验证码功能发送的验证码如何校验_java实现发送短信验证码
- 各个认证记录及说明SRRC与CTA认证
- javaScript 561. 数组拆分 I
- 刻在我心底的名字吉他谱-凡凡吉他教室编制
- 【油猴脚本】鼠标选中跳转蓝奏云有效链接及自动填写提取码
- 在线帮助中心,轻松解决售后服务问题
- mvc直接在html页面预览pdf,Asp.net MVC 实现在线预览word、excel、ppt、pdf文件
- 51nod3174 堆积木
- 扔旧被子扔掉霉运_您应该扔掉所有高科技产品盒吗?