hdu 1864 最大报销额 模型为简单的01背包
来源:互联网 发布:网络直播招聘范文 编辑:程序博客网 时间:2024/06/01 10:31
很简单的01背包,但是题目还是很蛋疼的注意题目中600,和1000这两个数,还有就是double和int的转换,1A了感觉还是不错的
/*************************************************************************> File Name: hdu1864.cpp> Author: yang> Mail:826123027@qq.com > Created Time: 2014年08月23日 星期六 14:03:05 ************************************************************************/#include<iostream>#include<stdio.h>#include<stdlib.h>#include<memory.h>using namespace std;#define N 3000100int dp[N];int main(){//freopen("in.txt","r",stdin);double q;int n;int sum[35];while(cin>>q>>n,n){memset(sum,0,sizeof(sum));q*=100;(int) q;for(int i=0;i<n;i++){int t;double p;char a,b;cin>>t;int sum_type[3];int p_sum=0;int flag=0;memset(sum_type,0,sizeof(sum_type));while(t--){cin>>a>>b>>p;p=p*100;(int) p;p_sum+=p;//cout<<"p_sum:"<<p_sum<<endl;if(a=='A') sum_type[0]+=p;if(a=='B') sum_type[1]+=p;if(a=='C') sum_type[2]+=p;if(a=='X') {flag=1;break;}}for(int j=0;j<3;j++)if(sum_type[j]>60000) flag=1;if(p_sum>100000) flag=1;if(flag==1)sum[i]=0;elsesum[i]=p_sum;//cout<<"sun[i]"<<sum[i]<<endl;}memset(dp,0,sizeof(dp));for(int i=0;i<n;i++){for(int j=q;j>=sum[i];j--){dp[j]=max(dp[j],dp[j-sum[i]]+sum[i]);}}printf("%.2lf\n",dp[(int)q]/100.0);}}
0 0
- hdu 1864 最大报销额 模型为简单的01背包
- hdu 1864最大报销额 01背包
- HDU 1864 最大报销额 (01背包)
- 最大报销额 - HDU 1864 01背包
- hdu 1864 最大报销额 01背包
- HDU 1864 最大报销额(01背包)
- HDU 1864 最大报销额 01背包
- HDU 1864--最大报销额【01背包】
- HDU-1864-最大报销额【01背包】
- HDU 1864 最大报销额 【01背包】
- hdu 1864 最大报销额 01背包
- HDU 1864最大报销额(01背包)
- hdu 1864 最大报销额 01背包
- 最大报销额 HDU 1864(01背包)
- HDU 1864 最大报销额 背包问题
- 【HDU 1864】【背包】最大报销额
- hdu 最大报销额(01背包)
- 最大报销额 hdu 01背包
- 用SSH实现简单的删除操作时,id传入后台报空的问题。
- android Bitmap学习总结
- 纯虚函数可以定义了
- Ubuntu 下安装 JDK
- ORACLE 创建表空间,用户,权限
- hdu 1864 最大报销额 模型为简单的01背包
- 炼数成金---Rcur网络爬虫
- 设计模式--工厂模式
- Android-自定义圆角Toast提示框
- Struts2得到Request和Session
- 机房收费系统总结——代码独立性
- shell脚本中source aaa.sh时提示 source: not found
- poj 2562 Primary Arithmetic
- 2014阿里前端线上笔试题