汤姆斯的天堂梦(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)相关推荐

  1. 洛谷 P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)

    P1796 汤姆斯的天堂梦_NOI导刊2010提高(05) 题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的 ...

  2. 【t100】汤姆斯的天堂梦

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向 ...

  3. 洛谷P1796 汤姆斯的天堂梦

    传送门 题目描述 汤姆斯生活在一个等级为 00 的星球上.那里的环境极其恶劣,每天 1212 小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为 NN 的星球上天堂般的生活. 有一些航班将人从低等级的 ...

  4. P1796 汤姆斯的天堂梦_NOI导刊2010提高(05)

    题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...

  5. P1796 汤姆斯的天堂梦

    题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...

  6. P1796 汤姆斯的天堂梦(动态规划)

    题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...

  7. 汤姆斯的天堂梦_NOI导刊2010提高(05)【洛谷P1796】

    题目描述 汤姆斯生活在一个等级为0的星球上.那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍.他向往着等级为N的星球上天堂般的生活. 有一些航班将人从低等级的星球送上高一级的星球,有时需 ...

  8. 洛谷P1796 汤姆斯的天堂梦【DP-数字三角形模型】【橙】

    Date:2022.01.11 题意:从第0层到第N层最短路径,注意边权有负数. 思路:关于SPFA它已经死了. f[i][j]f[i][j]f[i][j]:从第000行第111个点 ~ 第iii行第 ...

  9. DP专题--P1796 汤姆斯的天堂梦

     这道题输入的时候要注意判断a是不是0 f [ i ] [ j ] 表示第i等级的第j号星球    存的是最小路费 这个状态如何得到呢 只要遍历上一个等级 也就是 i - 1 级的所有星球  将到达i ...

最新文章

  1. 区块链教程Fabric1.0源代码分析Tx(Transaction 交易)一
  2. [CSA35G][XSY3318]Counting Quests (DP)
  3. vue-router中hash模式、history模式原理
  4. 随机访问介质控制协议
  5. MAP地图报错Unable to preventDefault inside passive event listener invocation.
  6. 企业应用大数据探索发展新路径
  7. Ukey双因素身份认证步骤 安当加密
  8. Photoshop CC 2020软件安装教程
  9. php开源视频cms,迅睿PHP开源视频电影CMS系统
  10. Idea设置豆沙绿(保护你的眼不瞎的密码)
  11. @Resource报错
  12. java短信验证码功能发送的验证码如何校验_java实现发送短信验证码
  13. 各个认证记录及说明SRRC与CTA认证
  14. javaScript 561. 数组拆分 I
  15. 刻在我心底的名字吉他谱-凡凡吉他教室编制
  16. 【油猴脚本】鼠标选中跳转蓝奏云有效链接及自动填写提取码
  17. 在线帮助中心,轻松解决售后服务问题
  18. mvc直接在html页面预览pdf,Asp.net MVC 实现在线预览word、excel、ppt、pdf文件
  19. 51nod3174 堆积木
  20. 扔旧被子扔掉霉运_您应该扔掉所有高科技产品盒吗?

热门文章

  1. STM32F407ZGT6芯片介绍
  2. Shell中显示彩色二维码
  3. 关于学习js的一些命令行
  4. 嵌入式系统求职回忆录
  5. 微店小程序、微店系统怎么开发,流程步骤_OctShop
  6. python列表list元素降序排列两种方法
  7. Git 命令行的各种退出方式
  8. 基于FPGA的实时视频信号处理方案
  9. python中的filter()函数
  10. iOS 调整图片尺寸,告诉你的UI,别问我尺寸!我要最大的