[R5A] 空心正方形

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

数据规模:3n1003 \le n \le 100

思路

按行构造:第一行输出 nn#;中间 n2n-2 行每行输出 #n2n-2 个空格、#;最后一行再输出 nn#

复杂度:时间 O(n2)O(n^2),空间 O(1)O(1)

仓颉实现

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

main() {
    let reader = getStdIn()
    let n = Int64.parse(reader.readln().getOrThrow())
    for (_ in 0..n) {
        print("#")
    }
    println()
    for (_ in 0..(n - 2)) {
        print("#")
        for (_ in 0..(n - 2)) {
            print(" ")
        }
        println("#")
    }
    for (_ in 0..n) {
        print("#")
    }
    println()
}