栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1882 Stamps

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1882 Stamps

#include<iostream>using namespace std;bool dp[11][1001];int a[11][1001];void read(){    int i,j,k,s,t,ans,ans1,num,n,f,right,s1;    while(1){        cin>>num;        if(num==0) return;        cin>>k;        ans=0;ans1=0;        for(i=1;i<=k;i++)        { cin>>n; a[i][0]=n; right=0; memset(dp,0,sizeof(dp)); dp[0][0]=1; for(f=1;f<=n;f++) {     cin>>s;a[i][f]=s;     int end=right; for(s1=0;s1<num;s1++) for(j=0;j<=end;j++)     if(dp[s1][j])     {         for(t=1;t+s1<=num;t++)         {  dp[t+s1][j+s*t]=1;  if(right<j+s*t) right=j+s*t;         }     } } for(j=1;;j++) {     for(s=1;s<=num;s++)         if(dp[s][j])  break;     if(s>num) break; } if(ans<j) {     ans=j;     ans1=i; } else     if(ans==j)     {         if(a[ans1][0]>a[i][0])         {  ans1=i;         }         else         {  if(a[ans1][a[ans1][0]]>a[i][a[i][0]])      ans1=i;         }     }        }        printf("max coverage = %d : ",ans-1);        for(i=1;i<=a[ans1][0];i++) cout<<a[ans1][i]<<' ';        cout<<endl;    }}int main(){    read();    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367920.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号