[R42A] 比较
- 难度 入门
- 时限 1s
- 空限 512m
- 模拟
数据规模:字符串长度固定为 ,格式为
x<y、x=y或x>y,其中 、 是数字字符。
思路
将字符串转为字符数组。首尾两个字符都是数字,字符编码的大小顺序与数字大小顺序相同;中间字符则唯一确定需要检验的关系。
- 中间字符为
<时,判断左侧是否小于右侧; - 中间字符为
=时,判断两侧是否相等; - 否则判断左侧是否大于右侧。
成立时输出 Yes,否则输出 No。
复杂度:时间 ,空间 。
仓颉实现
import std.env.*
main(): Int64 {
let reader = getStdIn()
let s = reader.readln().getOrThrow().toRuneArray()
let x = UInt32(s[0])
let y = UInt32(s[2])
var ok = false
if (s[1] == r'<') {
ok = x < y
} else if (s[1] == r'=') {
ok = x == y
} else {
ok = x > y
}
if (ok) {
println("Yes")
} else {
println("No")
}
return 0
}