[R57B] BearName
- 难度 入门
- 时限 1s
- 空限 512m
- 模拟
数据规模:,。
思路
用变量 x 记录熊大当前所在的跑道,按顺序模拟每一个操作:
L:尝试向左移动一格,若x > 0则x -= 1,否则留在第 条跑道;R:尝试向右移动一格,若x < m则x += 1,否则留在第 条跑道。
操作结束后输出 x 即可。题目保证输入合法,不需要额外处理。
复杂度:时间 ,空间 。
仓颉实现
import std.env.*
import std.convert.*
main(): Int64 {
let reader = getStdIn()
let a = reader.readln().getOrThrow().split(" ", removeEmpty: true).map({ p: String => Int64.parse(p) })
let m = a[1]
var x = a[2]
let s = reader.readln().getOrThrow()
for (ch in s.toRuneArray()) {
if (ch == r'L') {
if (x > 0) {
x -= 1
}
} else if (x < m) {
x += 1
}
}
println(x)
return 0
}