博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1-1-折纸问题
阅读量:6525 次
发布时间:2019-06-24

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

1 /* 2     题目描述: 3         请把纸条竖着放在桌子上,然后从纸条的下边向上方对折,压出折痕后再展开。此时有1条折痕, 4         突起的方向指向纸条的背面,这条折痕叫做“下”折痕 ;突起的方向指向纸条正面的折痕叫做“上”折痕。 5         如果每次都从下边向上方对折,对折N次。请从上到下计算出所有折痕的方向。 6         给定折的次数n,请返回从上到下的折痕的数组,若为下折痕则对应元素为"down",若为上折痕则为"up". 7         测试样例: 8             1 9             返回:["down"]10 */11 /*12     使用递归实现:13     折叠n次时的折痕 等于 折叠n-1次时的折痕+“down”+折叠n-1次时的折痕的逆的反14       n = 1时,折痕为:下;15     则n = 2时,折痕为:下 下 上;16       n = 3时,折痕为:下下上 下 下上上;17 */18 19 #include 
20 #include
21 #include
22 using namespace std;23 24 vector
foldPaper(int n){25 vector
fp;26 if (n == 1){27 fp.push_back("down");28 return fp;29 }30 vector
fold = foldPaper(n-1);31 for (int i = 0; i < fold.size(); i++)32 fp.push_back(fold[i]);33 fp.push_back("down");34 for (int i = fold.size()-1; i >= 0; i--){35 if (fold[i] == "down")36 fp.push_back("up");37 else38 fp.push_back("down");39 }40 return fp;41 }42 43 int main(){44 vector
result;45 result = foldPaper(4);46 for (int i = 0; i < result.size(); i++)47 cout << result[i] << endl;48 return 0;49 }

 

转载于:https://www.cnblogs.com/qianmacao/p/4884701.html

你可能感兴趣的文章
《R语言编程艺术》——1.4 R语言中一些重要的数据结构
查看>>
如何让你的手机比别人最先升级到 Android L
查看>>
阿里云开源编程马拉松入围项目
查看>>
Mozilla 开源支持计划:首批捐助 7 开源项目 50 万美元
查看>>
《Photoshop混合模式深度剖析》目录—导读
查看>>
《为iPad而设计:打造畅销App》——抓住iPad的核心用法
查看>>
华尔街宫斗戏升温:银行巨头和纽交所争夺交易数据所有权
查看>>
《精通自动化测试框架设计》—第2章 2.6节使用数据库
查看>>
《网站性能监测与优化》一2.4 软件服务应用网站
查看>>
《HTML5 开发实例大全》——1.26 使用鼠标光标拖动网页中的文字
查看>>
【JSP开发】有关session的一些重要的知识点
查看>>
生产库中遇到mysql的子查询
查看>>
redis debug命令详解
查看>>
3144: [Hnoi2013]切糕
查看>>
异构数据库
查看>>
iOS.ObjC.Basic-Knowledge
查看>>
iOS.ReactNative-3-about-viewmanager-uimanager-and-bridgemodule
查看>>
透视校正插值
查看>>
【转载】WinCE6.0 Camera驱动源码分析(二)
查看>>
Cobertura代码覆盖率测试
查看>>