终于第一次自己写出了递归
来源:互联网 发布:剑灵召唤捏脸数据图 编辑:程序博客网 时间:2024/04/25 22:30
题目:
给出有N个木棍,它们由数个相等长的木棍折断成的小木棍。现在要求把它们还原成原木棍,求其原木棍的最小长度是多长?
#include<iostream>#include<stdlib.h>#include<math.h>#include<stdio.h>#include<algorithm>using namespace std;int n;int go[1000];bool hi[1000];bool cmp(int a,int b){ return a>b;}bool make(int L,int curlen,int num){ cout<<L<<' '<<curlen<<' '<<num<<endl; if (hi[num]) { if (num==n-1) return false; else return make(L,curlen,num+1); } if (curlen+go[num]==L) { hi[num]=true; return true; } if (curlen+go[num]>L) { if (num==n-1) return false; return make(L,curlen,num+1); } hi[num]=true; if (num==n-1) return false; else return make(L,curlen+go[num],num+1);}int main(){ freopen("fuck.txt","r",stdin); int i,j,k; while (cin>>n) { memset(hi,0,sizeof(hi)); k=0; for (i=0;i<n;i++) { cin>>go[i]; k+=go[i]; } sort(go,go+n,cmp); for (j=go[0];j<=k;j++) { memset(hi,0,sizeof(hi)); if (k%j) continue; for (i=0;i<k/j;i++) if (!make(j,0,0)) break; if (i==k/j) { cout<<"The result is : "<<j<<endl; break; } } }}
- 终于第一次自己写出了递归
- Android - 终于写出了自己app需要使用的服务
- 总结一下自己第一次写出了的多级联动js
- C#初学者—— 终于写出了自己第一个比较满意的程序
- Linux下终于写出了HelloWorld了
- 终于明白自己了
- 终于写出一个MFC的程序了
- 今天终于把perl写出来了
- 终于把自己卖了
- 自己的第一次容斥原理的实践(还有等差数列求和)终于会做数学题了
- 终于用上了自己的BLOG了!
- 终于了又自己的博客了
- 终于开了自己的博客了
- 终于在linux下用Java写出东东了。
- 几年了,终于第一次跑通了j2me的程序
- 终于拥有自己的blog了!
- 终于有自己的Blog了
- 终于有自己的blog了
- 研究System名称空间
- CSS1
- hdu2094 map应用
- jQuery(function(){})与(function(){})(jQuery)的区别
- 协方差矩阵和PCA的科普文
- 终于第一次自己写出了递归
- 有影响力的黑客组织
- Can't exec "gnuplot": Permission denied错误解决方法及gnuplot安装方法
- RemoTI相关
- linux quotacheck命令参数及用法详解---Linux系统管理
- 如何把 CvSeq 转去CvPoint和如何从CvPoint写入CvSeq
- Iphone开发(6) 如何保证不出现内存泄露
- get和post方式提交乱码问题
- 计算机图形学 可视化 国内国际会议及期刊