poj 1011 搜索(剪枝)
来源:互联网 发布:淘宝和一淘哪个好用 编辑:程序博客网 时间:2024/05/16 19:33
#include<cstdio>#include<cstring>#include<algorithm>#define MIN(x,y) ((x)>(y)?(y):(x))using namespace std;int d[70],m[70],total,flag,vis[70],n,t;int dfs(int begin,int aim,int rest){if(rest==0&&aim==0)return 1; if(aim==0){if(dfs(0,t,rest))return 1;elsereturn 0;} for(int i=begin;i<n;i++){if(vis[i])continue;if(d[i]>aim)continue;vis[i]=1;if(dfs(i+1,aim-d[i],rest-1))return 1;vis[i]=0;if(aim==t||aim==d[i])break;}return 0;}bool cmp(int a,int b){return a>b;}int main(){while(~scanf("%d",&n)&&n){int x,sum;memset(d,0,sizeof(d));memset(vis,0,sizeof(vis)); total=0x3f3f3f3f; sum=0;for(int i=0;i<n;i++){ scanf("%d",&d[i]); sum+=d[i]; total=MIN(total,d[i]); } sort(d,d+n,cmp); for(t=total;t<=sum;t++){if(sum%t)continue;memset(vis,0,sizeof(vis)); if(dfs(0,t,n)) { printf("%d\n",t); break;}}}}
0 0
- poj 1011 搜索(剪枝)
- POJ - 1011 搜索剪枝
- POJ 1011 搜索剪枝
- POJ 1011 Sticks(搜索剪枝)
- poj 1011 Sticks 深度搜索+(剪枝)
- poj 1011 Sticks(搜索+剪枝)
- POJ 1011 STICKS 搜索 剪枝
- POJ 1011 Sticks(搜索+剪枝)
- POJ 2531(搜索剪枝)
- poj 1011 Sticks(经典搜索问题:DFS+剪枝)
- poj 1011 hdoj 1455 Sticks(搜索+剪枝)
- POJ-1011-经典搜索题(深搜+剪枝)
- poj 1011 sticks 搜索加剪枝
- 搜索+剪枝——POJ 1011 Sticks
- 搜索+剪枝——POJ 1011 Sticks
- POJ 2362 Square (搜索 + 剪枝)
- POJ 2676Sudoku(Dfs+搜索剪枝)
- POJ 2790 Consecutive ones (搜索 + 剪枝)
- 【原创】queue队列小结
- HDU 2191 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活
- scanf_s()函数的用法
- Session 与 Cookie
- A、B、C、D四人过桥
- poj 1011 搜索(剪枝)
- redis操作
- Signing for "xxx" requires a development team. Select a development team
- ubuntu lua5.1.5安装
- ppt导出pdf后非矢量图图片失真的解决办法
- mysql学习笔记
- http请求
- Android·蓝牙通信实现
- linux下压缩并加密成zip文件(适用于mac os)