UVA 10465 Homer Simpson
来源:互联网 发布:dnf辅助网站源码 编辑:程序博客网 时间:2024/05/21 09:20
DP问题。
我当成一个完全背包做的。只有两个物品。
用 is[] 判断是否刚好可以装满,不能装满再倒过去找最大。
#include<cstdio>#include<cstring>#include<string>#include<queue>#include<algorithm>#include<map>#include<stack>#include<iostream>#include<list>#include<set>#include<bitset>#include<vector>#include<cmath>#define INF 0x7fffffff#define eps 1e-8#define LL long long#define PI 3.141592654#define CLR(a,b) memset(a,b,sizeof(a))#define FOR(i,a,b) for(int i=a;i<b;i++)#define FOR_(i,a,b) for(int i=a;i>=b;i--)#define pub push_back#define puf push_front#define pob pop_back#define pof pop_front#define mp make_pair#define ft first#define sd second#define sf scanf#define pf printf#define sz(v) ((int)(v).size())#define all(v) (v).begin(),(v).end()#define acfun std::ios::sync_with_stdio(false)#define SIZE 10000 +1using namespace std;int main(){ int cost[2],dp[SIZE],n; bool is[SIZE]; while(~sf("%d%d%d",&cost[0],&cost[1],&n)) { CLR(dp,0); CLR(is,0); is[0]=1; FOR(i,0,2) { FOR(j,cost[i],SIZE) { if(is[j-cost[i]]) { is[j]=1; dp[j]=max(dp[j],dp[j-cost[i]]+1); } } }// FOR(i,0,n+1)// pf("%d : is %d,dp %d\n",i,is[i],dp[i]); if(is[n]) pf("%d\n",dp[n]); else { int i=n; while(!is[i])i--; pf("%d %d\n",dp[i],n-i); } }}
0 0
- uva 10465 Homer Simpson
- uva 10465 Homer Simpson
- UVA 10465 Homer Simpson
- UVa 10465 - Homer Simpson
- UVa 10465 - Homer Simpson
- uva 10465 Homer Simpson
- UVa 10465 - Homer Simpson
- Uva-10465-Homer Simpson
- UVa:10465 Homer Simpson
- UVA - 10465 Homer Simpson
- uva 10465 - Homer Simpson
- UVa 10465 - Homer Simpson
- uva 10465 Homer Simpson
- UVa 10465 - Homer Simpson
- UVA - 10465 Homer Simpson
- UVA 10465 Homer Simpson
- UVA 10465 Homer Simpson
- uva 10465 Homer Simpson
- java jdbc连接mysql
- c#完成了先判断文件夹的可读和可写属性然后再拷贝文件的功能
- 软件架构————编程中基本数据类型注意事项
- 杨辉三角
- linux 配置json
- UVA 10465 Homer Simpson
- 第13周项目3-成绩处理函数版
- mac地址转换为长整形
- 第13周项目1(3)-数组大折腾
- 常用HTML标签元素
- 第十三周上机项目1--(5) 还折腾吗
- Nmap命令的29个实用范例
- 获取apk包的信息:版本号,名称,图标等
- oracle 分页语句