小蓝正在两台电脑之间拷贝数据,数据是一个 n × m 大小的正整数矩阵, 因此总共有 n × m + 2 个由空格分开的整数,其中前两个整数分别为 n 和 m 。 然而,有黑客入侵了小蓝的电脑,导致这 n × m + 2 个正整数的顺序被打乱了, 小蓝想知道最多可能有多少个不同的原矩阵。
两个矩阵相同当且仅当它们行数相同、列数分别相同,且每个位置上的数相同。
输入的第一行包含一个正整数 n × m + 2 。
第二行包含 n × m + 2 个正整数 a1, a2, · · · , an×m+2 ,相邻整数之间使用一个空格分隔。
输出一行包含一个整数表示答案。答案可能很大,请输出答案除以 1000000007 的余数。
6 2 2 1 4 3 3
24
【样例说明】
1)(n, m) = (1, 4):有 6 种原矩阵:(2, 2, 3, 3) ,(2, 3, 2, 3) ,(2, 3, 3, 2) , (3, 2, 2, 3) ,(3, 2, 3, 2) ,(3, 3, 2, 2);
2)(n, m) = (4, 1):有 6 种原矩阵;
3)(n, m) = (2, 2):有 12 种原矩阵;
【评测用例规模与约定】
对于 40% 的评测用例,1 ≤ n × m + 2 ≤ 10 ;
对于所有评测用例,1 ≤ n × m + 2 ≤ 5 × 105 ,1 ≤ ai ≤ 5 × 105 。
2025年第十六届蓝桥杯软件赛省赛C/C++大学A组真题
试题A: 寻找质数(本题总分:5分)
【问题描述】 如果一个正整数只能被1和它本身两个数整除,就称为一个质数。最小的 几个质数依次是2,3,5,7,11,13,··· 请问,第2025 个质数是多少?
【答案提交】 这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题B: 黑白棋(本题总分:5分)
【问题描述】 小蓝最近迷上了一款名为“黑白棋填充”的游戏。该游戏在一个方形网格棋 盘上进行,其中部分格子已经填有黑色或白色的棋子,而其他格子为空,等待 玩家填入棋子。 游戏规则是,玩家需要按照以下规则填满整个棋盘,才能算作胜利:
1.黑白棋子数量均等:
在每一行和每一列中,黑色棋子和白色棋子的数量必须相等。
2. 相邻棋子限制:
在棋盘的任何一行或一列中,不能有超过两个相同颜色的棋子连续排列 (即不允许出现“黑黑黑”’或“白白白”的情况)。
3. 行列唯一性:
每一行的棋子排列方式必须是唯一的,不能与棋盘中的任何其他行完全相 同。 每一列的棋子排列方式必须是唯一的,不能与棋盘中的任何其他列完全相 同。 行与列之间的棋子排列不作比较,即行可以与列相同,无需满足行列间的 唯一性。
现在有一个6×6的棋盘,如上图所示,其中部分格子已填入棋子(黑色或 白色),其余格子需要你填充,题目保证有唯一解。
请给出唯一的正确解,并按照以下格式输出答案: 黑色棋子用1表示,白色棋子用0表示。
从左到右、从上到下的顺序,依次遍历棋盘上的所有格子,并将这些值拼 接成一个长度为36的字符串。
例如,假设最终填充完成后的棋盘如下(仅为示例,并非真实答案):
1 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 0 0 0
0 0 1 1 0 0
0 0 1 1 1 1
则输出结果应为:100000000000000000001000001100001111。
【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个数字字符串,在提交答案时只填写这个字符串,填写多余的内容将无法得分。