[蓝桥杯青少年组省赛 2025] 矩阵圈层 90 度交错旋转

Luogu
IDLGB4378
Time1000ms
Memory512MB
DifficultyP2
模拟2025蓝桥杯青少年组
给定一个 $n \times n$ 的二维整数矩阵,你需要对这个矩阵的每一“圈层”的元素进行交错旋转,规则如下: ### 圈层的定义 - 矩阵从最外层开始,向内逐层定义“圈层”。最外层的元素构成第一圈层,移除最外层后剩余矩阵的最外层元素构成第二圈层,以此类推。 - 如果 $n$ 为奇数,最中心的一个元素属于最内层的圈层,且旋转后其值不改变。 ### 旋转方向 - 最外层(第一圈层)的元素按照顺时针方向整体旋转 $90$ 度。 - 次外层(第二圈层)的元素按照逆时针方向整体旋转 $90$ 度。 - 再往内一层(第三圈层)的元素按照顺时针方向整体旋转 $90$ 度。 - 以此类推,圈层的旋转方向在顺时针和逆时针之间交替进行。 ### 旋转范围 - 每一圈层的旋转仅限于该圈层内的元素。 【原题有 $n=4,6$ 的解释配图】 ## Input 第一行输入一个正整数 $n$($2 \leq n \leq 100$),表示矩阵的行数和列数; 接下来 $n$ 行,每行输入 $n$ 个整数($-1000 \leq$ 整数 $\leq 1000$),整数之间以一个空格隔开。 ## Output 输出 $n$ 行,每行 $n$ 个整数,整数之间以一个空格隔开,表示经过圈层交错旋转 $90$ 度变换后的矩阵。 [samples]
Samples
Input #1
4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Output #1
13 9 5 1
14 7 11 2
15 6 10 3
16 12 8 4
API Response (JSON)
{
  "problem": {
    "name": "[蓝桥杯青少年组省赛 2025] 矩阵圈层 90 度交错旋转",
    "description": {
      "content": "给定一个 $n \\times n$ 的二维整数矩阵,你需要对这个矩阵的每一“圈层”的元素进行交错旋转,规则如下: ### 圈层的定义 - 矩阵从最外层开始,向内逐层定义“圈层”。最外层的元素构成第一圈层,移除最外层后剩余矩阵的最外层元素构成第二圈层,以此类推。 - 如果 $n$ 为奇数,最中心的一个元素属于最内层的圈层,且旋转后其值不改变。 ### 旋转方向 - 最外层(第一圈层)的元素按照顺",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB4378"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定一个 $n \\times n$ 的二维整数矩阵,你需要对这个矩阵的每一“圈层”的元素进行交错旋转,规则如下:\n\n### 圈层的定义\n- 矩阵从最外层开始,向内逐层定义“圈层”。最外层的元素构成第一圈层,移除最外层后剩余矩阵的最外层元素构成第二圈层,以此类推。\n- 如果 $n$ 为奇数,最中心的一个元素属于最内层的圈层,且旋转后其值不改变。\n\n### 旋转方向\n- 最外层(第一圈层)的元素按照顺...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments