| 题目名称 | 2030. 九连环 | 
|---|---|
| 输入输出 | 9ring.in/out | 
| 难度等级 | ★ | 
| 时间限制 | 500 ms (0.5 s) | 
| 内存限制 | 128 MiB | 
| 测试数据 | 5 | 
| 题目来源 | 
 | 
| 开放分组 | 全部用户 | 
| 提交状态 | |
| 分类标签 | |
| 分享题解 | 
| 通过:5, 提交:6, 通过率:83.33% | ||||
| 
 | 
100 | 0.000 s | 0.17 MiB | Pascal | 
| 
 | 
100 | 0.008 s | 0.41 MiB | Pascal | 
| 
 | 
100 | 0.013 s | 0.41 MiB | Pascal | 
| 
 | 
100 | 0.022 s | 0.41 MiB | Pascal | 
| 
 | 
100 | 0.035 s | 0.33 MiB | Pascal | 
| 
 | 
0 | 0.000 s | 0.00 MiB | C++ | 
| 关于 九连环 的近10条评论(全部评论) | 
|---|
<1>第一环为无论何时均可自由上下横行.
<2>第二只环只有在第一环为1时,才能自由上下.
<3>想要改变第n(n>2)个环的状态,需要先使第一到第(n-2)环均为下杆,且第n-1个环为上杆,而与第N+1个到第九环状态无关.
<4>每改变一个环,记为一步.
现在九连环由111111111变到000000000,求中间第I步的状态。
仅包含一个整数i,表示第i步的距离。
输出中间第i步的状态,如果输入的步数大于实际变换所需的步数,输出-1。
2
010111111
500
-1
1<=i<=2^31-1