SDUTOJ 3023 X的畅想 我人生的第一个自己AC的DP题 && 递归
来源:互联网 发布:c语言数组存储符号 编辑:程序博客网 时间:2024/06/08 19:51
X的畅想
Time Limit: 1000MS Memory limit: 65536K
题目描述
X在有了一个学妹后,就想有第二个呀,有第二个就像有第三个呀。但是X还不想和之前追到的学妹有冲突,所以只能在剩余的精力与时间里再找学妹了。那么X还能再去追几个学妹呢?
如果X要在剩余精力s和剩余时间t内追学妹,而想追上一个学妹,就需要用掉一定的精力与时间,并且不同的学妹的消耗是不同的。X就要给自己考虑一下了,怎么样才能追到更多的学妹。
输入
第一行输入一个整数n(n < 100)表示要追的学妹的信息。
第二行输入两个整数s,t(s < 100 , t < 100),表示X剩余的精力s和剩余的时间t。
之后连续n行,每行两个整数a,b 表示如果要追上该学妹需要消耗精力a,和花费时间b。
输出
输出一个整数,表示X可以追到学妹的最大数。
示例输入
410 102 42 23 53 4
示例输出
3
提示
来源
winddreams
#include <stdio.h>#include <string.h>struct node{ int s; int t;}ls[110];bool vis[110];//标记数组,因为本题不允许一个数据被多次用int mx,n;void js(int jl,int st,int sum){ if(mx < sum) mx = sum; for(int i = 0;i < n;i++) { if(st >= ls[i].t && jl >= ls[i].s && !vis[i]) { vis[i] = true; int a = jl - ls[i].s; int b = st - ls[i].t; js(a,b,sum + 1); vis[i] = false; } }}int main(){ int st,jl; mx = 0; scanf("%d",&n); scanf("%d%d",&jl,&st); memset(vis,false,sizeof(vis)); for(int i = 0;i < n;i++) { scanf("%d%d",&ls[i].s,&ls[i].t); } js(jl,st,0); printf("%d\n",mx); return 0;}
0 0
- SDUTOJ 3023 X的畅想 我人生的第一个自己AC的DP题 && 递归
- 我人生的第一个bug
- 记我人生的第一个博客
- HDU2084数塔(人生的第一个DP题)
- 我的ac自动机第一题 hdu2222
- 我自己写的第一个控件
- 我的第一个Struts(1.x)
- 我的第一个cocos2d-x 游戏
- 我的第一个Cocos2d-x程序
- 我的第一个Cocos2D-x 程序
- 我和奥运有个约会:我的奥运畅想
- 写出自己人生的第一个小程序
- 我人生中第一个真正的CUDA程序
- 畅想2008年的我
- 我的。Net专业畅想
- 我的第一个完全自己写的C程序
- 我的完全属于自己的第一个程序
- 发布自己的module - 我的第一个npm组件!
- 如何运用Xcode创建单元测试UnitTest
- 在java中使用dom4j解析xml
- ZOJ 3838 Infusion Altar(数学啊 模拟啊 这么挫的代码你见过吗?)
- js生日祝福
- linux下使用yum安装mysql
- SDUTOJ 3023 X的畅想 我人生的第一个自己AC的DP题 && 递归
- 看上去很美的二比矿泉水广告
- unity用PUN进行信息交互模块
- jsp中不同提交方式的中文乱码处理方法及数据库乱码处理方法
- V4L2框架分析
- hdu 5122 K.Bro Sorting
- HDU 2029 Palindromes _easy version
- 黑马程序员 java基础学习之(import导入)
- Java反射详解