[R61A] 四季

  • 难度 入门
  • 时限 1s
  • 空限 512m
  • 模拟

数据规模:1n121 \le n \le 12

思路

按月份区间判断季节:353 \sim 5 月为 Spring686 \sim 8 月为 Summer9119 \sim 11 月为 Autumn,其余(12121122 月)为 Winter

复杂度:时间 O(1)O(1),空间 O(1)O(1)

仓颉实现

import std.env.*
import std.convert.*

main(): Int64 {
    let reader = getStdIn()
    let n = Int64.parse(reader.readln().getOrThrow())
    var s = "Winter"
    if (3 <= n && n <= 5) {
        s = "Spring"
    } else if (6 <= n && n <= 8) {
        s = "Summer"
    } else if (9 <= n && n <= 11) {
        s = "Autumn"
    }
    println(s)
    return 0
}

要点:

  • 冬季覆盖三个不连续的月份(12、1、2),作为默认分支最方便:前三个区间都不命中时输出 Winter
  • 每个分支独立判断区间,不需要处理月份跨年的取模。