poj 1742 coins 多重背包,只是用来标记可以组成多少个小于m的值

来源:互联网 发布:混合云 数据同步 编辑:程序博客网 时间:2024/05/01 18:22
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;int f[100009];int used[100009];int main(){    int n,m;    int a[110];    int c[110];    while(cin>>n>>m,n+m){         for(int i=0;i<n;i++)            cin>>a[i];         for(int i=0;i<n;i++)            cin>>c[i];         memset(f,0,sizeof(f));         f[0]=1;         int ans=0;         for(int i=0;i<n;i++){            memset(used,0,sizeof(used));//若used[]数组再开大一位就会超时。                              //为了记录每个包用过的次数,每个包都得初始化             for(int j=a[i];j<=m;j++)                if(!f[j]&&f[j-a[i]]&&used[j-a[i]]+1<=c[i]){//used[]记录用过的次数                   f[j]=1;                   ans++;                   used[j]=used[j-a[i]]+1;                }         }         cout<<ans<<endl;    }}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 饭盒盖吸不住怎么办 饭盒微波炉加热后打不开怎么办 微波炉加热饭盒打不开怎么办 塑料饭盒加热后打不开怎么办 真空锅锅盖打不开怎么办 玻璃真空水壶打不开怎么办 保温饭盒盖子打不开怎么办 饭盒盖章松了怎么办 电压力锅卡住了怎么办 铁的饭盒打不开怎么办 微波炉饭盒盖子打不开怎么办 微波炉盖子吸住了怎么办 剩下的糯米饭怎么办 饭盒微波加热打不开怎么办 微波炉触屏不灵怎么办 微波炉旋钮坏了怎么办 微波炉蒸馒头硬怎么办 小猫两天不吃饭怎么办 减肥吃了巧乐兹怎么办 孕妇吃了点蟹籽怎么办 做寿司没有肉松怎么办 做寿司没有海苔怎么办 孩子不爱吃早餐怎么办 早上不想吃早餐怎么办 早上来不及吃早餐怎么办 早餐吃撑了怎么办 减肥吃撑了怎么办 哺乳吃爆米花了怎么办 干吃方便面后怎么办 吃了牛奶上火怎么办 绿豆糕吃多了怎么办 吃完火锅肚子烧怎么办 吃东西经常烫到怎么办 黄焖鸡酱料过期了怎么办 自热饭水弄错了怎么办 电饭锅米饭硬了怎么办 米饭太软了怎么办 米饭变硬粘锅怎么办 晚上不吃饭便秘怎么办 饭店米饭剩了怎么办 隔夜饭硬了怎么办