有 n 个环,拆装这些环的规则:
第一个环可以随意拆装
第二个只有在第一环已装上时可以拆装,第三个只有在第二个环已装上且第一个环已拆下时可以拆装。
第 i 个环只有在第 i−1 环已装上,且第 i−2、第 i−3、…,第 1 环都拆下时可以装拆。
现输入 n,表示这 n 个已经装上的环,现在输出拆下这 n个环的最简单过程。
输出方法是每个状态用 0、1 来表示,0 表示对应位置上的环已卸下,1表示对应位置上的环已装上,输出每拆装一个环时候的状态,初始状态也要输出。
例如,输入n=2,则输出:
11
10
00
本人读懂题了,大体思路就是首先满足前 n−2 个数全为 0,第 n−1 个数为 1,使得第 n 个环拆下,然后满足前 n−1 个数全为 1(这个手模可以得到);再满足前 n−3 个数全为 0,第 n−2 个数为 1,使得第 n−1 个环拆下……
目前想到的就是设置一个 bool 状态(将前面转化为 0 和转化为 1),但是实现到一半搞不懂咋搜了
如有错误请指出,谢谢大佬们的帮助