题目地址
https://codeforces.com/problemset/problem/1838/C
题目抽象
将 [ 1 , n ⋅ m ] [1, n \cdot m] [1,n⋅m] 的数字排列进 n * m 的矩阵中,使得任意相邻的数字之差都不是质数
数据范围:
4 ≤ n , m ≤ 1000 4\le n,m \le 1000 4≤n,m≤1000
题目类型
构造
解题思路
我们先按最简单的来看,将他们顺序排列,可以得到:
| 1 1 1 | 2 2 2 | ⋯ \cdots ⋯ | m m m |
|---|---|---|---|
| m + 1 m+1 m+1 | m + 2 m+2 m+2 | ⋯ \cdots ⋯ | 2 ⋅ m 2\cdot m 2⋅m |
| 2 ⋅ m + 1 2\cdot m+1 2⋅m+1 | 2 ⋅ m + 2 2\cdot m+2 2⋅m+2 | ⋯ \cdots ⋯ | 3 ⋅ m 3\cdot m 3⋅m |
| ⋮ \vdots ⋮ | ⋮ \vdots ⋮ | ⋱ \ddots ⋱ |

该问题要求在n*m的矩阵中排列1到n*m的数字,使得相邻数字之差非质数。当m为质数时,可通过行列变换确保所有相邻差值非质数。解决方案包括按顺序排列并检查是否满足条件,或者根据m是否为质数调整行列顺序。
最低0.47元/天 解锁文章
390

被折叠的 条评论
为什么被折叠?



