递归
该专栏包括的题目涉及递归算法。
XiaoZheng2003
博客暂时弃更
展开
-
以括号形式输出二叉树
原题题目描述输入一个二叉树的先序串,输出以括号形式表示的而叉树。如果结点的子树为空,先序串的对应位置为空格符。输入第1行:先序串 (结点数≤26,以单个大写字母表示)输出第1行:二叉树的括号形式样例输入AB#C##D##样例输出A(B(#,C(#,#)),D(#,#))注:空格用#表示分析 样例分析图这道题一看就需要用递归来做,可是千万不用被题目中疑似的数据范围坑了。题目中是说的“结点数≤26”,原创 2017-01-20 14:29:48 · 5546 阅读 · 0 评论 -
火柴棒等式
一、原题题目描述给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是0)。用火柴棍拼数字0-9的拼法如图所示:注意: 1. 加号与等号各自需要两根火柴棍 2. 如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0) 3. n根火柴棍必须全部用上。输入一行,一个整数n(n≤24)。输出一行,表示能拼成的原创 2016-11-08 14:08:30 · 3797 阅读 · 0 评论 -
根据两种遍历顺序确定树结构
一、原题 根据两种遍历顺序确定树结构(build-tree) 输入 第1行:二叉树的前序遍历顺序 第2行:中序遍历顺序 输出 二叉树的后序遍历顺序 样例输入 ABCDEFGH CBEDAGHF 样例输出 CEDBHGFA 二、分析 三、源代码 #include #include #include using namespace std; st原创 2016-10-02 15:53:32 · 4634 阅读 · 1 评论 -
[OpenJudge] 2.2基本算法之递归和自调用函数 逆波兰表达式(前缀表达)
申明:方法来自此博客。 一、原题 1696:逆波兰表达式 总时间限制: 1000ms 内存限制: 65536kB 描述 逆波兰表达式是一种把运算符前置的算术表达式,例如普通的表达式2 + 3的逆波兰表示法为+ 2 3。逆波兰表达式的优点是运算符之间不必有优先级关系,也不必用括号改变运算次序,例如(2 + 3) * 4的逆波兰表示法为* + 2 3 4。本题求解逆波兰表达式的值,其原创 2016-09-27 17:47:13 · 2478 阅读 · 2 评论 -
[OpenJudge] 2.5基本算法之搜索 红与黑
这是NOI OPENJUDGE的一道题“红与黑”,题目要求统计最多的黑色瓷砖“.”,并输出最优解。本题用的是递归深搜,点击即可查看。原创 2016-08-24 15:19:55 · 2716 阅读 · 2 评论 -
[OpenJudge] 2.5基本算法之搜索 取石子游戏
一、原题6266:取石子游戏总时间限制: 1000ms 内存限制: 65536kB描述有两堆石子,两个人轮流去取.每次取的时候,只能从较多的那堆石子里取,并且取的数目必须是较少的那堆石子数目的整数倍.最后谁能够把一堆石子取空谁就算赢. 比如初始的时候两堆石子的数目是25和7 25 7 –> 11 7 –> 4 7 –> 4 3 –> 1 3 –> 1 0原创 2016-09-21 13:57:38 · 1495 阅读 · 0 评论