木棒,POJ(1011)
2016-04-06 19:12
330 查看
题目链接:http://poj.org/problem?id=1011
解题报告:
解题报告:
#include <cstdio> #include <cstring> #include <cstdlib> #include <algorithm> using namespace std; const int maxn =70; int n,sum,aim,num,a[maxn]; bool used[maxn]; bool cmp(int a,int b) { return a>b; } bool dfs(int Stick,int len,int pos) { ///Stick表示当前组合好的棍子数,len表示已经有的长度,pos表示搜索到了第几根 int i; bool sign=(len==0?true:false); if(Stick==num) return true; for(i=pos+1;i<n;i++) { if(used[i]) continue; if(len+a[i]==aim) { used[i]=true; if(dfs(Stick+1,0,-1)) return true; used[i]=false; return false; } else if(len+a[i]<aim) { used[i]=true; if(dfs(Stick,len+a[i],i)) return true; used[i]=false; if(sign) return false; while(a[i]==a[i+1]) i++; } } return false; } int main() { while(scanf("%d",&n),n) { sum=0; for(int i=0;i<n;i++) { scanf("%d",&a[i]); sum+=a[i]; } sort(a,a+n,cmp); for(aim=a[0];aim<=sum;aim++) { if(sum%aim==0) { num=sum/aim; memset(used,false,sizeof(used)); if(dfs(1,0,-1)) { printf("%d\n",aim); break; } } } } return 0; }
相关文章推荐
- MySQL Workbench 如何导入导出sql表
- BZOJ 2339: [HNOI2011]卡农
- LeetCode *** 217. Contains Duplicate
- Lightoj-1356 Prime Independence(质因子分解&&二分图最大独立集)
- 四则运算《安卓版》04
- [kuangbin带你飞]专题十七 AC自动机
- 《机电传动控制》----学习笔记六
- 整数数组中最大子数组求和03
- 通过GET方式传递数据给服务器
- Bookmarks
- OA项目实战学习(3)——实现岗位管理增删改查
- bzoj 2502: 清理雪道
- python小模块---zipfile
- IOS-使用XCODE自带的单元测试UnitTest
- 中国移动 全球通、 动感地带、神州行 的区别
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher
- Rotate Array 带测试版
- JavaFX E4 RCP创建Model Fragment后报错:No application id has been found.
- AngularJS之基础-5 路由(定义路由、使用路由)、自定义指令(Directive)
- 8080port is already in use. cmd结束进程也拒绝访问,ntsd也不管用(win8)