2024四川大学计算机考研复试上机真题
2024四川大学计算机考研复试机试真题
历年四川大学计算机考研复试机试真题
在线评测:https://app2098.acapp.acwing.com.cn/
分数求和
题目描述
有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13…
求出这个数列的前 N 项之和,保留两位小数。
输入格式
N
输出格式
数列前 N 项和
输入样例
10
输出样例
16.48
求组合数
题目描述
编写一个函数,求从 n 个不同的数中取 r 个数的所有选择的个数。
输入格式
输入 n 和 r 的值; 当用户输入 0 0 时,程序结束。
输出格式
根据公式: C(n,r) = C(n, r-1) * (n - r + 1) / r 输出运算结果输入数据不满足题意时候,输出"error!"
输入样例
5 3
10 20
50 3
0 0
输出样例
10
error!
19600
求矩阵的鞍点
题目描述
给定一个 n×m 的整数矩阵,行的编号为 1∼n,列的编号为 1∼m,求矩阵中的所有鞍点。
鞍点,即该位置上的元素在该行上最大,在该列上最小。
有可能有多个鞍点,也可能没有鞍点。
输入格式
第一行包含两个整数 n,m。
接下来 n 行,每行包含 m 个整数。
输出格式
输出所有鞍点的坐标和值。
输出优先级,整体从上到下,同行从左到右。
如果不存在鞍点,则输出 NO
。
数据范围
1≤n,m<10,
矩阵元素取值范围 [1,9]。
输入样例
3 4
1 2 3 4
1 2 3 4
1 2 3 4
输出样例
1 4 4
2 4 4
3 4 4
year
2019
字符串编辑距离
题目描述
问题描述:给定两个字符串 A 和 B,求字符串 A 至少经过多少步字符操作变成字符串 B。
我们先以一个例子分析,比如 eat 变成 tea。
对于第一个字符,e != a,所以要想让这两个字符相等,有三种可以选择的办法:
修改字符,将 e 直接变成 a,需要走 1 步。
插入字符,在 e 的前面插入 a,也需要走 1 步。
删除字符,将 e 删除,然后比较后面的与 a,也需要走 1 步。
输入格式
输入字符串 A 和 B(长度小于 1000)
输出格式
输出最少经过多少步可以将 A 变成 B
输入样例
abcd
abc
输出样例
1
year
2019
单链表节点交换
题目描述
输入一个单链表,依次交换前 2 个数,第 3、4 个数,第 5、6 个数,…,以此类推,直到操作完整个链表。
如果链表长度是奇数,则最后一个数不用操作。
输出交换之后的链表。
输入格式
第一行包含整数 n,表示节点数量。
第二行包含 n 个整数,表示每个节点的值。
输出格式
共一行,输出交换后的链表。
数据范围
01≤n≤100,
节点取值范围 [1,100]。
输入样例
5
1 2 3 4 5
输出样例
2 1 4 3 5
year
2019
Problem A
题目描述
给定一个长度为 数组,将其中第偶数位置的元素与前一个元素交换。
输入格式
输出格式
输入样例
5
1 2 3 4 5
输出样例
2 1 4 3 5
year
2019
特别的除法
题目描述
输入正整数 a, b,c,输出 a/b 小数形式,精确到小数点后 c 位,a,b 范围都是 1-1e8,c 为 2~1000。
请计算 a/b,保留 c 位。
输入格式
a b c 三正整数
输出格式
计算结果
输入样例
2 3 6
输出样例
0.666667
year
2024
分解质因数
题目描述
将一个正整数分解质因数。
例如:输入 90,打印出 90=233*5。
输入格式
多组输入数据
输入一个正整数
输出格式
以乘积的形势的输出,质因数从小到大。
输入样例
10
90
输出样例
2*5
2*3*3*5
year
2024
输出柱状图
题目描述
根据输入的数据对应用‘*’打印出柱状图
输入格式
第一行输入一个整数 N,其中 N 不大于 10
接下来输入 N 个数,用空格间隔,每个数 0<=ai<=5
输出格式
按照样例格式输出,每两个数据中间有一个空列
输入样例
3
3 1 2
输出样例
*
* *
* * *
year
2024
不甘心的皇后
题目描述
皇后是国际象棋里最厉害的角色(so are women in real world)。
随着社会的不断发展,越来越多的人们意识到皇后在国际象棋里的地位应该降低,这样国际象棋才会更公平,更有意思。
在传统的棋盘上,皇后能在任意的方向(横,竖,斜)上移动任意的步数。
新的国际象棋规定,皇后在竖直方向上还是可以移动任意的步数, 但在除此之外的其他方向上(水平和对角),她只能像国王一样移动一格。
但皇后们并不罢休,即使他们被剥夺了的某些权利,她们也要想办法联合起来,即每个皇后都能被同伴支援保护。
在每个棋盘上,我们在每一列上放一个皇后。
正如前面所说,棋盘上所有的皇后都想要联合起来,也就是说,每两个相邻列的皇后之间的行距离最多只能差一格,这样才可以及时互相支援(下图给出了四个例子,前三个是正确的,最后一个是错误的)。
现在我们给出棋盘的大小和初始状态,你能计算出一共有多少种不同的放置皇后的方法使得所有的皇后都能联合起来吗?
输入格式
本题包括多组测试数据。
每组数据的第一行包含一个整数 n(1<=n<=10),代表一个 n*n 的棋盘。
接下来的一行包括 n 个整数。
代表初始时每列已有的皇后的位置:如果这个值为 i,则代表在这一列上,由上向下数第 i 个格子已经放了皇后;如果这个值为 0,代表这一列还没有皇后,这时你可以在满足题目要求的情况下把一个皇后放在这一列的任意位置。
当 n=0 时输入结束,这组数据不包括在需要计算的数据中。
输出格式
对于每一组输入数据,输出一个整数,代表在这种情况下符合条件的放置皇后的方法种数。
输出 0 代表无法满足条件。
输入样例
8
0 0 0 0 0 0 0 0
4
1 2 0 3
4
1 2 3 4
4
1 3 2 4
0
输出样例
11814
2
1
0
year
2024
极大连通图个数
题目描述
给指定矩阵,由 . 和 w 组成,求 w 能组成的极大连通图个数,可以斜着(也就是八个方向)。
输入格式
第一行输入两个数代表矩阵的行数 h 和列数 w(1<=w,h<=100)
接下来输入这个矩阵
输出格式
极大连通图个数
输入样例
5 10
..w.....ww
.ww..wwwww
.w...w....
..wwww.www
..wwww.www
输出样例
2
year
2024