vijosP1037搭建双塔
2016-03-30 17:27
218 查看
vijosP1037搭建双塔
链接:https://vijos.org/p/1037
【思路】
DP。
【代码】
链接:https://vijos.org/p/1037
【思路】
DP。
【代码】
1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 5 const int maxn = 100+10; 6 7 int a[maxn]; 8 int d[maxn][2010]; 9 int n,sum; 10 11 int main() { 12 ios::sync_with_stdio(false); 13 cin>>n; 14 for(int i=1;i<=n;i++) cin>>a[i] , sum+=a[i]; 15 16 memset(d,-1,sizeof(d)); 17 d[0][0]=0; 18 for(int i=1;i<=n;i++) 19 for(int j=0;j<=sum;j++) 20 { 21 if(d[i-1][j]>-1) 22 d[i][j]=d[i-1][j]; 23 if(a[i]>=j&&d[i-1][a[i]-j]>-1) 24 d[i][j]=max(d[i][j],d[i-1][a[i]-j]+j); 25 if(j+a[i]<=sum&&d[i-1][j+a[i]]>-1) 26 d[i][j]=max(d[i][j],d[i-1][j+a[i]]); 27 if(j>=a[i]&&d[i-1][j-a[i]]>-1) 28 d[i][j]=max(d[i][j],d[i-1][j-a[i]]+a[i]); 29 } 30 if(d [0]<=0) cout<<"Impossible"; 31 else cout<<d [0]; 32 33 return 0; 34 }
相关文章推荐
- vijosP1195“非常男女”计划
- vijosP1471 教主的游乐场
- vijosP1059 积木城堡
- vijosP1071 新年趣事之打牌
- vijosP1285 佳佳的魔法药水
- vijosP1014 旅行商简化版
- NOI题库7624 山区建小学(162:Post Office / IOI2000 POST OFFICE [input] )
- NOI题库05 派
- 洛谷1144 最短路计数
- 洛谷1265 公路修建
- 洛谷1339 热浪(最短路模板)
- 洛谷1341 无序字母对
- 洛谷1462 通往奥格瑞玛的道路
- 洛谷1828 香甜的黄油
- 洛谷1119 灾后重建
- UVa11090 Going in Cycle!!
- WinPcap权威指南(一)
- 限制UITextField手机号只能输入11位
- ubuntu下MySQLdb模块安装
- 非阻塞型算法