九度OJ 1462 动态规划变形之《两船载物问题》

来源:互联网 发布:单片机触摸按键 编辑:程序博客网 时间:2024/05/21 11:18

题目地址:http://ac.jobdu.com/problem.php?pid=1462

01背包

//如果打不开网址,可以直接百度搜索,题目类型是差不多的。

#include<stdio.h>#include<string.h>#define MAXS 5002int list[102];int dp[MAXS];int max(int a,int b){return a>b?a:b;}int main(){int i,j,c1,c2,sum,n;while(~scanf("%d %d %d",&n,&c1,&c2)){sum=0;memset(list,0,sizeof list);memset(dp,0,sizeof dp);for(i=1;i<=n;i++){scanf("%d",&list[i]);sum+=list[i];}if(c1+c2<sum){puts("NO");continue;}if(c1>c2){j=c1;c1=c2;c2=j;}for(i=1;i<=n;i++){for(j=c1;j>=list[i];j--)dp[j]=max(dp[j-list[i]]+list[i],dp[j]);}if(c2+dp[c1]<sum)puts("NO");else puts("YES");}return 0;}


原创粉丝点击