#6921. CSP-J 2025 座位(seat)T2

CSP-J 2025 座位(seat)T2

座位(seat)

题目描述

CSP-J 2025 第二轮正在进行。小 R 所在的考场共有 (n×m)(n\times m) 名考生,所有考生的 CSP-J 2025 第一轮成绩互不相同。

考生按第一轮成绩从高到低分配座位。座位排成 (n) 行 (m) 列,分配顺序沿列蛇形进行:

  • 第 1 列:从第 1 行排到第 (n) 行;
  • 第 2 列:从第 (n) 行排到第 1 行;
  • 第 3 列:再次从第 1 行排到第 (n) 行;
  • 以此类推。

例如,当 (n=4,\ m=5) 时,20 名考生按照成绩从高到低,沿图中箭头顺序分配座位。

给定考场的行数 (n)、列数 (m),以及所有考生的第一轮成绩 (a1,a2,…,an×m)(a_1,a_2,\ldots,a_{n\times m})。其中,(a1)(a_1) 是小 R 的成绩。请输出小 R 的座位在第几列、第几行。

输入格式

从文件 seat.in 中读入数据。

第一行包含两个正整数 (n,m)(n,m),分别表示座位的行数和列数。

第二行包含 (n×m)(n\times m) 个正整数 (a1,a2,…,an×m)(a_1,a_2,\ldots,a_{n\times m}),其中 (a1)(a_1) 是小 R 的成绩。

输出格式

输出到文件 seat.out 中。

输出一行两个正整数 (c,r),表示小 R 的座位在第 (c) 列、第 (r) 行。

样例 1

输入

2 2
99 100 97 98

输出

1 2

**解释:**成绩从高到低依次为 (100,99,98,97),对应的座位依次是第 1 列第 1 行、第 1 列第 2 行、第 2 列第 2 行、第 2 列第 1 行。小 R 的成绩为 (99),因此座位在第 1 列第 2 行。

样例 2

输入

2 2
98 99 100 97

输出

2 2

**解释:**小 R 的成绩为 (98),在所有考生中排名第 3,因此座位在第 2 列第 2 行。

样例 3

输入

3 3
94 95 96 97 98 99 100 93 92

输出

3 1

数据范围

对于所有测试数据,保证:

  • (1≤n≤10),(1≤m≤10)(1\le n\le 10),(1\le m\le 10);
  • 对于所有 (1≤i≤n×m)(1\le i\le n\times m),均有 (1≤ai≤100)(1\le a_i\le 100);
  • (a1,a2,…,an×m)(a_1,a_2,\ldots,a_{n\times m}) 互不相同。
测试点编号 (n≤)(n\le) (m≤)(m\le) 特殊性质
1 1 1 A、B
2~3 10 无
4~5 10 1
6 2 2 A
7 B
8~9 无
10 10 A
11 B
12~14 无
15~17 10 2
18~20 10

**特殊性质 A:**对于所有 (1≤i≤n×m)(1\le i\le n\times m),均有 (ai=i)(a_i=i)。

**特殊性质 B:**对于所有 (1\le i\le n\times m),均有 (a_i=n\times m-i+1)。

[CSP-J 2025] 座位