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

zoj 3682 E

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

zoj 3682 E

#include<iostream>#include<stdio.h>using namespace std;const int mod = (int)1e9+7;const int N = 100050;int opt[2][N],a[N];inline void up(int &s,int b){ s=(s+b)%mod;}int main(){ int s1,s2,n; while(scanf("%d%d",&s1,&s2)!=-1) { scanf("%d",&n); for(int i=1;i<=n;++i) scanf("%d",&a[i]); int k1=0,k2=1,sum=s1+s2,ss=s1; for(int j=0;j<=s1;++j) opt[0][j]=opt[1][j]=0; opt[0][s1]=1; for(int i=1;i<=n;++i) { sum-=a[i]; ss-=a[i]; if(ss<=0) ss=0; for(int j=ss;j<=s1&&j<=sum;++j) { opt[k2][j]=opt[k1][j]; if(a[i]%2==0&&j+a[i]/2<=s1) up(opt[k2][j],opt[k1][j+a[i]/2]); if(j+a[i]<=s1) up(opt[k2][j],opt[k1][j+a[i]]); } k2^=1; k1^=1; } printf("%dn",opt[k1][0]); } return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/376829.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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