博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1011 Sticks
阅读量:5050 次
发布时间:2019-06-12

本文共 1156 字,大约阅读时间需要 3 分钟。

DFS

题意是让你把这些木棍组合成长度相等的一些木棍。要求长度最短。

#include
#include
#include
#include
using namespace std;int a[65],n,sum,ans;bool v[65],ok;bool cmpa(int a,int b){ return a>b;}bool dfs(int num,int need,int total){ int i; if(need==0) { if(total==sum/ans-2)return 1; for(i=0;v[i];i++); v[i]=1; if(dfs(i+1,ans-a[i],total+1))return 1; v[i]=0; return 0; } else { if(num>=n-1)return 0; for(i=num;i
还有更强大的剪枝版本号的:

#include
#include
#include
#define MAX 64int s[MAX],vis[MAX],n,len,sum;void input(){ int i,j,temp; sum = 0; for(i=0;i
len) continue; if(now_len+s[k]==len) { vis[k]=1; bool result = dfs(0,0,count+1); vis[k]=0; return result; } else if(now_len==0) { vis[k]=1; bool result = dfs(s[k],k+1,count); vis[k]= 0; return result; } else if(now_len+s[k]

转载于:https://www.cnblogs.com/yxwkf/p/4008720.html

你可能感兴趣的文章
正则表达式补充
查看>>
Vue中全局和按需引入Echarts
查看>>
框架目录
查看>>
MSSql技巧之快速得到表的记录总数
查看>>
RDIFramework.NET — 基于.NET的快速信息化系统开发框架 - 5.3 数据库连接管理模块...
查看>>
Webservice测试从头来
查看>>
no such table
查看>>
解决 An invalid domain was specified for this cookie
查看>>
JSON新特性
查看>>
微信支付choosewxpay:fail
查看>>
简单的 JSON 对象进行深拷贝最简单的方法
查看>>
Java method Exception throw with return instance.
查看>>
记事本其他功能实现(打印)
查看>>
2.Installation guide
查看>>
[原创]java WEB学习笔记21:MVC案例完整实践(part 2)---DAO层设计
查看>>
[原创]java WEB学习笔记33:Session 案例 之 购物车
查看>>
约瑟夫环问题的实现
查看>>
子元素scroll父元素容器不跟随滚动JS实现
查看>>
nodejs操作mongodb
查看>>
win10 uwp 获得缩略图
查看>>