2025中国科学技术大学计算机保研上机真题
2024中国科学技术大学计算机保研上机真题
2023中国科学技术大学计算机保研上机真题
在线测评链接:https://pgcode.cn/school?classification=1
拆分数字
题目描述
给定一个数字,拆分成若干个数字之和,这些数字必须是连续的。
例如,数字 6 6 6可以拆分成 1 + 2 + 3 1+2+3 1+2+3,也可以拆分成 6 6 6。
问对于这个数字来说有几种拆分方法。
输入格式
输入一个整数 n n n,表示需要拆分的数字。
输出格式
输出一个整数,表示拆分方法的数量。
输入样例
6
输出样例
2
最大1正方形的周长
题目描述
给定一个 m × n m \times n m×n大小的矩阵,矩阵中有 0 0 0和 1 1 1两个数字,问矩阵中由 1 1 1构成的正方形中最大的正方形周长。
输入格式
第一行包含两个整数 m m m和 n n n,表示矩阵的行数和列数。
接下来 m m m行,每行包含 n n n个整数,表示矩阵中的元素( 0 0 0或 1 1 1)。
输出格式
输出一个整数,表示矩阵中由 1 1 1构成的最大正方形的周长。
输入样例
4 5
1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
输出样例
16
马走棋盘问题
题目描述
给定一个 m × n m \times n m×n大小的棋盘,给定一个初始位置 ( a , b ) (a, b) (a,b)。
输入一个数代表棋盘上不能走的点的个数 t t t,给出 t t t个点的坐标。
问一个马(马走日)从 ( a , b ) (a, b) (a,b)出发,能否不重复地把棋盘上(除不能走的点之外)的所有点都走一遍。
若能走,则输出有多少种走完的方式;若不能,则输出 0 0 0。
输入格式
第一行包含四个整数 m m m, n n n, a a a, b b b,分别表示棋盘的行数、列数、初始位置的行坐标和列坐标。
第二行包含一个整数 t t t,表示不能走的点的个数。
接下来的 t t t行,每行包含两个整数 x i x_i xi, y i y_i yi,表示不能走的点的坐标。
输出格式
输出一个整数,表示有多少种走完的方式;若不能走完,则输出 0 0 0。
输入样例
3 3 1 1
1
2 2
输出样例
1
进制转换
题目描述
给定两个数 m m m 和 n n n,以及一个数 t t t。
其中 m m m 代表数转换之前是几进制的, n n n 代表数转换之后是几进制的( m m m 和 n n n 都是小于等于 36 36 36), t t t 代表原来的数。
要求求解 n n n 进制下,原 m m m 进制数 t t t 是多少。
输入格式
输入三个值,依次为 m m m、 n n n 和 t t t。
输出格式
输出 n n n 进制下对应的数。
输入样例
10 16 255
输出样例
FF
运动会比赛日程安排
题目描述
某运动会设立 M M M个比赛项目,每个运动员(共 N N N个运动员)可以参加多个项目,每个项目的比赛时长相同。
试问如何安排比赛日程,既可以使同一运动员参加的项目不安排在同一单位时间进行,又使总的竞赛日程最短。
输入格式
第一行包含两个整数 N N N和 M M M,分别表示运动员的数量和比赛项目的数量。
接下来的 N N N行,每行包含若干个整数,表示该运动员参加的比赛项目编号。
输出格式
输出一个整数,表示最短的竞赛日程(单位时间数)。
输入样例
3 4
1 2 3
2 3
3 4
输出样例
3
时间间隔计算
题目描述
给定一天中的一个起始时间 s s s和终止时间 t t t,求 s s s到 t t t的时间间隔。
输入格式
输入共一行,两个时刻 s s s和 t t t(用空格隔开)。
起始时间 s s s和终止时间 t t t均为标准的 H H : M M : S S . D D D HH:MM:SS.DDD HH:MM:SS.DDD形式。
输出格式
输出一行表示 s s s和 t t t的时间间隔,同样以 H H : M M : S S . D D D HH:MM:SS.DDD HH:MM:SS.DDD表示。
输入样例
08:00:00.000 22:15:47.368
输出样例
14:15:47.368
螺旋矩阵
题目描述
一个 n n n行 m m m列的螺旋矩阵可由如下方法生成:
从矩阵的左上角(第 1 1 1行第 1 1 1列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。
根据经过顺序,在格子中依次填入 1 , 2 , … , n × m 1,2,…,n \times m 1,2,…,n×m,便构成了一个螺旋矩阵。
下图是一个 n = 3 n=3 n=3, m = 4 m=4 m=4的螺旋矩阵。
1 2 3 4
10 11 12 5
9 8 7 6
现给定 n n n和 m m m构造一个螺旋矩阵,求这个矩阵第 i i i行第 j j j列的数字。
输入格式
输入共一行四个正整数 n n n, m m m, i i i, j j j(用空格隔开)。
输出格式
输出共一行一个正整数,表示第 i i i行第 j j j列的数字。
数据范围
对于 50 % 50\% 50%数据, 1 ≤ n , m ≤ 100 1 \leq n,m \leq 100 1≤n,m≤100。
对于 100 % 100\% 100%数据, 1 ≤ n , m ≤ 10 5 1 \leq n,m \leq 10^5 1≤n,m≤105, 1 ≤ i ≤ n 1 \leq i \leq n 1≤i≤n, 1 ≤ j ≤ m 1 \leq j \leq m 1≤j≤m。
输入样例
3 4 2 3
输出样例
12
摸球
题目描述
箱子里有 n n n个红球和 m m m个黑球。
现采用不放回的方式随机依次从箱子里摸球,求摸到第一个黑球时,已摸到红球的期望数量。
输入格式
输入一行两个正整数 n n n, m m m,分别表示红球数和黑球数。
输出格式
输出一行一个实数,表示所要求的期望答案,结果四舍五入保留3位小数。
数据范围
-
对于30%的数据, 1 ≤ n ≤ 2 1 \leq n \leq 2 1≤n≤2。
-
对于60%的数据, 1 ≤ n , m ≤ 10 5 1 \leq n,m \leq 10^5 1≤n,m≤105。
-
对于100%的数据, 1 ≤ n , m ≤ 10 9 1 \leq n,m \leq 10^9 1≤n,m≤109。
输入样例
1 3
输出样例
0.250
因子个数求和
题目描述
对一个正整数 n n n,定义 f ( n ) f(n) f(n)为 n n n的因子个数。
如 12 12 12的因子有 1 , 2 , 3 , 4 , 6 , 12 1, 2, 3, 4, 6, 12 1,2,3,4,6,12,故 f ( 12 ) = 6 f(12)=6 f(12)=6。
现在给定正整数 N N N,求 ∑ i = 1 N f ( i ) \sum_{i=1}^{N} f(i) ∑i=1Nf(i)的值。
输入格式
输入一行,一个正整数 N N N。
输出格式
输出一行,一个正整数表示所求结果。
数据范围
对于 30 % 30\% 30%数据,满足 1 ≤ N ≤ 5000 1 \leq N \leq 5000 1≤N≤5000。
对于 100 % 100\% 100%数据,满足 1 ≤ N ≤ 10 6 1 \leq N \leq 10^6 1≤N≤106。
输入样例
4
输出样例
8