ACM复习(11)8615 快乐
2017-11-14 17:21
411 查看
Description
Lian是一个喜欢看动画片的人,自从成为ACMer(ACM爱好者)之后,他又迷上了网上做题。做题让他快乐,不过这也是需要付出精力的!!
假设有n道题,Lian做出第i道题后,他可以获得的快乐指数将增加gethappy[i],而消耗掉的精力将是losspow[i]。
假设Lian初始的快乐指数为1,精力为2000。可以理解,如果他消耗完了所有的精力那他得到再多的快乐都没有用。
你的任务就是帮他计算他所能得到的最多的快乐指数,且最后他依然有多余的精力(即至少为1)。
输入格式
第一行输入一个整数n,表示有n个人。(n<=50)
第二行输入n个整数,表示gethappy[1]到gethappy
第三行输入n个整数,表示losspow[1]到losspow
。
输出格式
一个整数,表示Lian所能获得的最大快乐指数。
输入样例
3
15 23 61
350 1301 1513
输出样例
77
Lian是一个喜欢看动画片的人,自从成为ACMer(ACM爱好者)之后,他又迷上了网上做题。做题让他快乐,不过这也是需要付出精力的!!
假设有n道题,Lian做出第i道题后,他可以获得的快乐指数将增加gethappy[i],而消耗掉的精力将是losspow[i]。
假设Lian初始的快乐指数为1,精力为2000。可以理解,如果他消耗完了所有的精力那他得到再多的快乐都没有用。
你的任务就是帮他计算他所能得到的最多的快乐指数,且最后他依然有多余的精力(即至少为1)。
输入格式
第一行输入一个整数n,表示有n个人。(n<=50)
第二行输入n个整数,表示gethappy[1]到gethappy
第三行输入n个整数,表示losspow[1]到losspow
。
输出格式
一个整数,表示Lian所能获得的最大快乐指数。
输入样例
3
15 23 61
350 1301 1513
输出样例
77
解题思路
动态规划入门题目,这里有一个有趣的入门教程。看完教程你就能秒解这道题#include<stdio.h> int get[51], loss[51], happy[2002][51]; int maxhappy(int ener, int num); int max(int a, int b){return a > b ? a : b;} int main() { int n; scanf("%d", &n); for(int i = 1; i <= n; i ++) scanf("%d", &get[i]); for(int i = 1; i <= n; i ++) scanf("%d", &loss[i]); for(int i = 0; i < 2002; i ++) for(int j = 0; j < 51; j ++) happy[i][j] = -1; printf("%d\n", maxhappy(2000, n) + 1); return 0; } int maxhappy(int ener, int num) { int result; if(happy[ener][num] != -1) result = happy[ener][num]; else if(num == 1) { if(ener > loss[num]) result = get[num]; else result = 0; } else if(ener > loss[num]) result = max(maxhappy(ener - loss[num], num - 1) + get[num], maxhappy(ener, num - 1)); else result = maxhappy(ener, num - 1); happy[ener][num] = result; return result; }
相关文章推荐
- [ACM] hdu 1465 不容易系列之一(错排复习)
- Editing 2011-2012 ACM-ICPC Northeastern European Regional Contest (NEERC 11)
- ACM复习(10)8619 公约公倍
- ACM_03复习高中知识
- ACM复习(19)8629 热身游戏
- ACM复习(20)8627 数独
- Acm Club 1326:算法2-8~2-11:链表的基本操作
- C语言复习笔记 11
- ACM复习(44)10684 我要摇出一个妹子
- [ACM] hdu 1465 不容易系列之一(错排复习)
- 加入ACMUG,交流技术,分享心得,收获快乐
- ACM学习历程11——Multiset集合容器的使用
- Java复习笔记11【字符串常用方法2】
- ACM习题K-11
- ACM内部函数11
- JavaSE复习_11 IO流复习
- ACM复习(47)11153 kill boss
- [ACM] hdu 1465 不容易系列之一(错排复习)
- java基础复习--复习总结11
- ACM: 图论题poj 1860 (没心情复习…