题目名称 2030. 九连环
输入输出 9ring.in/out
难度等级
时间限制 500 ms (0.5 s)
内存限制 128 MiB
测试数据 5
题目来源 Gravatar2366470480 于2015-08-23加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:5, 提交:6, 通过率:83.33%
Gravatar我想 100 0.000 s 0.17 MiB Pascal
Gravatar2366470480 100 0.008 s 0.41 MiB Pascal
Gravatar2366470480 100 0.013 s 0.41 MiB Pascal
Gravatar2366470480 100 0.022 s 0.41 MiB Pascal
Gravatar2366470480 100 0.035 s 0.33 MiB Pascal
Gravatar2366470480 0 0.000 s 0.00 MiB C++
关于 九连环 的近10条评论(全部评论)

2030. 九连环

★   输入文件:9ring.in   输出文件:9ring.out   简单对比
时间限制:0.5 s   内存限制:128 MiB

【题目描述】

九连环是由九个彼此套接的圆环和一根横杆组成,九个环从左到右依次为1-9,每个环有两种状态:1和0,1表示环在杆上,0表示环不在杆上.初始状态是九个环都在杆上,即:111111111,目标状态是九个环都不在环上,即:000000000,由初始状态到目标状态的变化规则是:

<1>第一环为无论何时均可自由上下横行.

<2>第二只环只有在第一环为1时,才能自由上下.

<3>想要改变第n(n>2)个环的状态,需要先使第一到第(n-2)环均为下杆,且第n-1个环为上杆,而与第N+1个到第九环状态无关.

<4>每改变一个环,记为一步.

现在九连环由111111111变到000000000,求中间第I步的状态。


【输入格式】

仅包含一个整数i,表示第i步的距离。

【输出格式】

输出中间第i步的状态,如果输入的步数大于实际变换所需的步数,输出-1。

【样例输入1】

2

【样例输出1】

010111111


【样例输入2】

500

【样例输出2】

-1

【提示】

1<=i<=2^31-1