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

poj 3265 Problem Solving

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

poj 3265 Problem Solving

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int P=305,M=1005,inf=0x3f3f3f3f;int dp[2][P][M];int a[P],b[P];int main(){    int m,p,ans=inf,x,y;    scanf("%d%d",&m,&p);    for(int i=1;i<=p;i++)        scanf("%d%d",&a[i],&b[i]);    memset(dp,0x3f,sizeof(dp));    dp[1][0][0]=0;    x=0,y=1;    for(int i=1;;i++)    {        x=i&1;        y=x^1;        memset(dp[y],0x3f,sizeof(dp[y]));        for(int j=0;j<=p;j++)        { for(int k=0;k<=m;k++) {     if(dp[x][j][k]!=inf)     {         if(j==p)  ans=min(ans,(dp[x][j][k]==0)?i:(i+1));         else if(k>=a[j+1]&&dp[x][j][k]+b[j+1]<=m)  dp[x][j+1][k-a[j+1]]=min(dp[x][j+1][k-a[j+1]],dp[x][j][k]+b[j+1]);         dp[y][j][m-dp[x][j][k]]=0;     } }        }        if(ans!=inf) break;    }    printf("%dn",ans);    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370788.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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