ABC241A Digit Machine
题目分析¶
设备屏幕初始显示数字 0
,
每次按按钮,屏幕上的数字 k
会变成数组 a[k]
对应的数字。
题目要求按下按钮 3次 后,屏幕显示的数字是什么。
解题思路¶
- 初始数字是
0
; - 按钮第 1 次按后数字变成
a[0]
; - 按钮第 2 次按后数字变成
a[a[0]]
; - 按钮第 3 次按后数字变成
a[a[a[0]]]
。
我们只需模拟三次映射即可。
实现步骤¶
- 定义整型数组
a[10]
; - 读入 $10$ 个数字填充数组存储到 $a_0\sim a_9$;
- 初始化
x = 0
;- 执行三次
x = a[x]
;
- 执行三次
- 输出
x
。
复杂度分析¶
- 时间复杂度:$O(1)$,仅进行固定 $3$ 次数组访问;
- 空间复杂度:$O(1)$,只存储长度为 $10$ 的数组。
总结¶
- 本题是简单的模拟题;
- 只需根据映射关系重复三次即可;
- 注意数组下标和输入对应;
- 适合初学者练习数组和模拟操作。