C语言九连环问题求解

7-4 九连环问题 (10 分)

九连环是一种流传于山西省的传统民间的智力玩具,由九个圆环相连成串,以解开为胜。

题图1.jpg

九连环的九个环,一环扣一环地套在钗上。除了第 1 号环可以随时装上或卸下以外,其它环装上或卸下的条件是:在它的前面仅有紧靠它那一个环在钗上。即:当第 1 ~ i−2 号环都不在钗上,第 i−1 号环在钗上,这时可以装上或卸下第 i 号环。

输入格式

环数 操作(U表示装上, D表示卸下)

输出格式

装上或卸下九连环的操作步骤
每行显示一步操作,具体格式为:
环号: U或D (U表示装上,D表示卸下)

输入样例1

3 U

输出样例1

1: U
2: U
1: D
3: U
1: U

输入样例2

4 D

输出样例2

2: D
1: D
4: D
1: U
2: U
1: D
3: D
1: U
2: D
1: D

数据范围?