CF271B Prime Matrix
题目描述
你有一个 $n \times m$ 的矩阵。矩阵中的元素都是整数。每次操作,你可以对矩阵中的任意一个元素执行如下变换之一:选择任意一个元素并将其增加 $1$。每个元素可以被任意次数地增加。
你对质数非常感兴趣。我们来提醒一下,质数是指正整数中恰好有两个不同的正整数因子:它本身和 $1$。例如数字 $2$、$3$、$5$ 是质数,数字 $1$、$4$、$6$ 不是质数。
一个矩阵被称为“质数矩阵”,当且仅当至少满足以下两个条件之一:
- 存在某一行,该行所有元素都是质数;
- 存在某一列,该列所有元素都是质数;
你的任务是计算将你给定的矩阵变成一个“质数矩阵”所需的最少操作次数。
输入格式
第一行包含两个整数 $n,m$ $(1 \leq n,m \leq 500)$ —— 分别表示矩阵的行数和列数。
接下来的 $n$ 行,每行包含 $m$ 个整数,表示初始矩阵。所有矩阵元素都是正整数,且不超过 $10^5$。
每行内的数字用单个空格隔开。
输出格式
输出一个整数,即将给定矩阵变成“质数矩阵”所需的最少操作次数。如果给定矩阵已经是质数矩阵,则输出 $0$。
说明/提示
在第一个样例中,你需要将 $ (1,1) $ 处的数字 $1$ 增加一次。这样,第一行就只包含质数了:$2, 2, 3$。
在第二个样例中,你需要将 $ (1,2) $ 处的数字 $8$ 增加三次。这样,第二列就只包含质数了:$11, 2$。
在第三个样例中,你无需做任何操作,因为第二列已经全是质数:$3, 2$。
由 ChatGPT 5 翻译