题目
分析
递归分析
首先,看到这个题,我们可以先从样例入手分析。看样例,容易发现每次剩下的长方形的宽就是上次长方形的长减宽,长就是上一个长方形的宽。(如果宽比长大,换一下顺序就可以了)
那我们就容易想到这道题可以用递归来解决。每次传入剩下的长方形的长和宽就行了。
直到长和宽有一个是零就可以了。
到这里,我们就可以写出递归的代码了。
递归代码
1 |
|
问题&解决方案
这么有理有据的递归代码,竟然会运行错误!!
| 测试点 | 输入文件 | 测试结果 | 运行用时 | 内存消耗 | 得分 |
|---|---|---|---|---|---|
| #1 | territory1.in | 答案正确 | 0.000 s | 2.543 MB | 10 |
| #2 | territory2.in | 答案正确 | 0.000 s | 2.543 MB | 10 |
| #3 | territory3.in | 答案正确 | 0.000 s | 2.535 MB | 10 |
| #4 | territory4.in | 答案正确 | 0.000 s | 2.539 MB | 10 |
| #5 | territory5.in | 答案正确 | 0.000 s | 2.535 MB | 10 |
| #6 | territory6.in | 答案正确 | 0.000 s | 2.539 MB | 10 |
| #7 | territory7.in | 答案正确 | 0.000 s | 2.539 MB | 10 |
| #8 | territory8.in | 运行时错误 | 不可用 | 不可用 | 0 |
| #9 | territory9.in | 答案正确 | 0.000 s | 3.547 MB | 10 |
| #10 | territory10.in | 答案正确 | 0.000 s | 2.566 MB | 10 |
康康测试点8的数据:
1 | 2 10000000 |
!!!!!
这么大的数据,结合上面的运行错误,明显这是爆栈了。
看来这个题不能使用递归。(那为什么还是递归测试[doge])
明显只能使用循环了。
也很好写,只需要把刚才传入长和宽改为把长和宽存储在变量中,每次直接调用就可以了。
终极代码
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Shirakami Lynrics!
评论
TwikooValine



