题目描述

汤姆斯生活在一个等级为0的星球上。那里的环境极其恶劣,每天12小时的工作和成堆的垃圾让人忍无可忍。他向往着等级为N的星球上天堂般的生活。

有一些航班将人从低等级的星球送上高一级的星球,有时需要向驾驶员支付一定金额的费用,有时却又可以得到一定的金钱。

汤姆斯预先知道了从0等级星球去N等级星球所有的航线和需要支付(或者可以得到)的金钱,他想寻找一条价格最低(甚至获得金钱最多)的航线。

输入输出格式

输入格式:

第一行一个正整数N(N≤100),接下来的数据可分为N个段落每段的第一行一个整数Ki(Ki≤100),表示等级为i的星球有Ki个。

接下来的Ki行中第Tij个依次表示与等级为i,编号为j的星球相连的等级为i-1的星球的编号和此航线需要的费用(正数表示支出,负数表示收益,费用的绝对值不超过1000)。

每行以0结束,每行的航线数≤100。

输出格式:

输出所需(或所得)费用。正数表示支出,负数表示收益。

输入输出样例

输入样例#1: 复制

  1. 3
  2. 2
  3. 1 15 0
  4. 1 5 0
  5. 3
  6. 1 -5 2 10 0
  7. 1 3 0
  8. 2 40 0
  9. 2
  10. 1 1 2 5 3 -5 0
  11. 2 -19 3 -20 0
输出样例#1: 复制

  1. -1

说明

对于100%的数据N≤100 Ki≤100。

样例解释:

简单dp

用spfa也可以

  1. // 去吧!皮卡丘! 把AC带回来!
  2. // へ     /|
  3. //   /\7    ∠_/
  4. //   / │   / /
  5. //  │ Z _,< /   /`ヽ
  6. //  │     ヽ   /  〉
  7. //  Y     `  /  /
  8. //  イ● 、 ●  ⊂⊃〈  /
  9. //  ()  へ    | \〈
  10. //   >ー 、_  ィ  │ //
  11. //   / へ   / ノ<| \\
  12. //   ヽ_ノ  (_/  │//
  13. //    7       |/
  14. //    >―r ̄ ̄`ー―_
  15. //**************************************
  16. #pragma comment(linker, "/STACK:1024000000,1024000000")
  17. #include <bits/stdc++.h>
  18. using namespace std;
  19. typedef long long ll;
  20. #define inf 2147483647
  21. const ll INF = 0x3f3f3f3f3f3f3f3fll;
  22. #define ri register int
  23. template <class T> inline T min(T a, T b, T c) { return min(min(a, b), c); }
  24. template <class T> inline T max(T a, T b, T c) { return max(max(a, b), c); }
  25. template <class T> inline T min(T a, T b, T c, T d) {
  26. return min(min(a, b), min(c, d));
  27. }
  28. template <class T> inline T max(T a, T b, T c, T d) {
  29. return max(max(a, b), max(c, d));
  30. }
  31. #define scanf1(x) scanf("%d", &x)
  32. #define scanf2(x, y) scanf("%d%d", &x, &y)
  33. #define scanf3(x, y, z) scanf("%d%d%d", &x, &y, &z)
  34. #define scanf4(x, y, z, X) scanf("%d%d%d%d", &x, &y, &z, &X)
  35. #define pi acos(-1)
  36. #define me(x, y) memset(x, y, sizeof(x));
  37. #define For(i, a, b) for (int i = a; i <= b; i++)
  38. #define FFor(i, a, b) for (int i = a; i >= b; i--)
  39. #define bug printf("***********\n");
  40. #define mp make_pair
  41. #define pb push_back
  42. const int maxn = 3e5 + ;
  43. const int maxx = 1e6 + ;
  44. // name*******************************
  45. int dp[][];
  46. int n;
  47. int ans = inf;
  48. // function******************************
  49.  
  50. //***************************************
  51. int main() {
  52. // ios::sync_with_stdio(0); cin.tie(0);
  53. // freopen("test.txt", "r", stdin);
  54. // freopen("outout.txt","w",stdout);
  55. cin >> n;
  56. int x;
  57. For(i, , n) {
  58. cin >> x;
  59. For(j, , x) {
  60. dp[i][j] = inf - ;
  61. int a, b;
  62. cin >> a;
  63. while (a) {
  64. cin >> b;
  65. dp[i][j] = min(dp[i][j], dp[i - ][a] + b);
  66. cin >> a;
  67. }
  68. }
  69. }
  70. For(i, , x) { ans = min(ans, dp[n][i]); }
  71. cout << ans;
  72. return ;
  73. }

P1796 汤姆斯的天堂梦的更多相关文章

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

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

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

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

  3. 汤姆大叔 javascript 系列 第20课 最后的5到javascript题目

    博客链接:http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 原题: 大叔注:这些题目也是来自出这5个题目的人,当然如果你能答对4 ...

  4. 你必须知道ASP.NET知识------关于动态注册httpmodule(对不起汤姆大叔)

    一.关于动态注册的问题 很多人看过汤姆大叔的MVC之前的那点事儿系列(6):动态注册HttpModule ,其实汤姆大叔没有发现httpmodule动态注册的根本机制在哪里. 亦即:怎么动态注册?为什 ...

  5. 我读汤姆大叔的深入理解js(二)

    继续汤姆大叔的js之旅. 揭秘命名函数表达式 函数表达式和函数声明 汤姆大叔在博客中引用ECMA规范:函数声明必须带有标识符,函数表达式可以省略.对于我来说这些概念的东西真是不所适从.还是大叔的实例带 ...

  6. 我读汤姆大叔的深入理解js(一)

    前言 闲来看看javascript,在圆子里发现了汤姆大叔的文章,先是整体瞄了几眼,感觉不错,然后细细研读.记录下自己的学习历程和个人理解.更重要的是作为笔记 高质量JS代码 在看汤姆大叔的这一系列文 ...

  7. 汤姆大叔的6道javascript编程题题解

    看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) var a = [1, 2, 3, 6, 5, 4 ...

  8. 看了汤姆大叔的“你真懂JavaScript吗?”的一些感慨

    看了汤姆大叔的“你真懂JavaScript吗?”,里面有5道题目,我都一一作了,然后在chrome的控制台里面运行了一遍,虽然只错了一道,但还是细细读了下答案,在此总结一下,看看是否对大家对这些Jav ...

  9. 1199: [HNOI2005]汤姆的游戏 - BZOJ

    Description 汤姆是个好动的孩子,今天他突然对圆规和直尺来了兴趣.于是他开始在一张很大很大的白纸上画很多很多的矩形和圆.画着画着,一不小心将他的爆米花弄撒了,于是白纸上就多了好多好多的爆米花 ...

随机推荐

  1. PHP IN_ARRAY 函数 使用需要注意的地方

    今天 看PPChttp://bbs.phpchina.com/thread-171993-1-7.html 这个问题. 其实关键还是因为 php是弱类型语言,php进行比较的时候 最好还是使用stri ...

  2. javascript代码

    LazyMan 实现LazyMan(什么是LazyMan?请自行google) function _LazyMan(_name) { var _this = this; _this.tasks = [ ...

  3. springboot 文件上传和下载

    文件的上传和下载 1.文件上传 html页面代码如下 <form method="post" action="/file/upload1" enctype ...

  4. 转:php中判断某个IP地址是否存在范围内

    原文:php中判断某个IP地址是否存在范围内 //案例:判断192.168.1.127是否在 (192.168.1.1--192.168.1.255)的范围里面 $ip_start = get_ipl ...

  5. 图形报表部署在Linux下出现乱码解决办法

     客户问题: 客户的操作系统SUSE LINUX Enterprise Server 10 (i586) 64位,服务器 weblogic8.1, JDK版本:jdk1.4.系统中只有图形报表展示 ...

  6. pageHelper插件

    mybatis的分页插件使用总结 环境准备工作:    1.在使用pagehelper插件时,我已经搭建好了ssm(spring+springmvc+mybatis) 在这简单描述一下ssm搭建过程 ...

  7. ES6入门——类的概念

    1.Class的基本用法 概述 JavaScript语言的传统方式是通过构造函数,定义并生成新对象.这种写法和传统的面向对象语言差异很大,下面是一个例子: function Point(x, y) { ...

  8. git下配置github sshkey

    教程看这里 http://xiaxveliang.blog.163.com/blog/static/29708034201341244759225/

  9. 解决升级PHP7.1后,发邮件时提示“fsockopen(): Peer certificate CN=`xxx.xx.com' did not match expected CN=`113.x.xx.98”

    把项目环境升级到PHP7.1后,发现在不使用SSL时可以使用IP发邮件,可设置成SSL时就只能使用hostname发送,PHP提示的错误信息大致意思是说,IP与hostname无法通过SSL验证,修改 ...

  10. Android UI组件----自定义ListView实现动态刷新

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...