北邮计算机研究生复试历年上机测试模拟试题及真题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2008年北邮计算机学院研究生入学考试(复试)上机测试模拟试题
第一题:人数统计 1305 Submit: 1853 Accepted:717
Time Limit: 1000MS Memory Limit: 65535K
Description
今年计算机学院研究生入学复试分多个小组。

现在老师需要知道每组复试同学中男生和女生的人数。

请你编写程序分别统计出男女生的总人数。

男生和女生的人数。

请你编写程序分别统计出男女生的总人数。

Input
输入的第一行是一个数t(0 < t < 10),表示有t 组测试用例。

组测试用例。

对于每组输入数据有两行,第一行是一个正整数n (1 < n < 1000),表示参加该组复试的总人数。

接下来一行有n 个整数(取值为0或1),),00代表男生,代表男生,11代表女生,整数间由一个空格隔开。

代表女生,整数间由一个空格隔开。

Output 对于每组测试用例,输出一行,由两个数组成,用一个空格隔开,分别表示男生和女生的总人数。

和女生的总人数。

Sample Input 2
2
1 0
7
0 1 0 0 1 1 0
Sample Output
1 1
4 3
数字统计 1306 1512
Submit: 1257 Accepted:578
Time Limit: 1000MS Memory Limit: 65536K
Description
给你一个非常大的整数x ,(-10^400 <=x<= 10^400),请统计x 的每一位,分别输出9,1,2出现的次数出现的次数. .
Input
一个大整数一个大整数; ;
Output
一共三行,一共三行,第一行是第一行是9出现的次数,出现的次数,第二行是第二行是1出现的次数,出现的次数,第三行是第三行是2出现的次数。

次数。

Sample Input
912912912910915902
Sample Output
6
5
4
第二题:统计字母1512
Submit: 2259 Accepted:625
Time Limit: 1000MS Memory Limit: 65535K
Description
给定一个只有小写英文字母组成的字符串,串长为n 。

请你编写程序求出这个字符串中出现次数最多的字母。

符串中出现次数最多的字母。

Input 输入的第一行为t(0 < t < 10),表示有t 组测试用例。

组测试用例。

对于每组测试用例,输入有两行。

对于每组测试用例,输入有两行。

第一行是一个正整数n ( 1 < n < 100)表示字符串的长度。

)表示字符串的长度。

后面一行是一个长度为n 的字符串(只由小写字母组成)。

的字符串(只由小写字母组成)。

Output
对于每组测试用例,输出一行,仅输出出现次数最多的字母。

对于每组测试用例,输出一行,仅输出出现次数最多的字母。

测试用例保证出现次数最多的字母只有一个。

测试用例保证出现次数最多的字母只有一个。

Sample Input
2
5 acmcs
3
zzt
Sample Output
c
z
第三题:二叉树前序遍历 1307
Submit: 1285 Accepted:331
Time Limit: 1000MS Memory Limit: 65535K
Description
给定一棵有n 个结点的二叉树,结点的编号为0~n-10~n-1。

请你编写程序输出二叉树。

请你编写程序输出二叉树的前序遍历序列。

的前序遍历序列。

Input
输入的第一行是一个正整数t(1 < t < 20),表示有t 组测试用例。

组测试用例。

对于每组测试用例,第一行是一个整数n(0 < n < 20),表示二叉树结点个数。

第二行是一个数r(0r(0≤≤r ≤n-1)n-1),二叉树根结点的编号。

,二叉树根结点的编号。

,二叉树根结点的编号。

后面有n-1行,表示二叉树n-1条边的信息。

每行三个数a,b,c a,b,c,三个数间由空,三个数间由空格隔开,其中0≤a,b a,b≤≤n-1且a ≠b, c 为0或1。

a 表示边的起点,表示边的起点,b b 表示边的终点。

如果c 为0,表示b 是a 的左儿子;如果c 为1,表示b 是a 的右儿子。

的右儿子。

Output
对于每组测试用例输出一行,对于每组测试用例输出一行,即:即:该二叉树的前序遍历序列,该二叉树的前序遍历序列,两个节点编号之间两个节点编号之间留一个空格。

留一个空格。

Sample Input
2
3
2
2 0 0
2 1 1
7
0 1 0
0 2 1
1 3 0
1 4 1
2 5 0
2 6 1
Sample Output
2 0 1
0 1 3 4 2 5 6 Hint
由于是计算机自动判题,请严格按照题目的描述输入输出,不要有任何多余的字符出现,尤其是输出行的行首和行尾都不要有多余的空格符出现,尤其是输出行的行首和行尾都不要有多余的空格
2009年北邮计算机学院研究生入学考试(复试)上机测试模拟试题
科学计算器 1511
Submit: 1481 Accepted:330 Time Limit: 1000MS Memory Limit: 65536K
Description
给你一个不带括号的表达式,这个表达式只包含加、减、乘、除,请求出这个表达式的最后结果,最后结果一定是整数;达式的最后结果,最后结果一定是整数;
Input
一个数学表达式,只包括数字,数字保证是非负整数,以及五种运算符"+","-","*","/""+","-","*","/",,"=""=";;数字和运算符之间有一个或者多个空格,数字和运算符之间有一个或者多个空格,运算符的总数运算符的总数不会超过100100,最后以,最后以,最后以"=""=""="号结尾,表示表达式结束。

注意:使用号结尾,表示表达式结束。

注意:使用C 的同学,在读取字符串的时候请使用scanf("%s",..);scanf("%s",..);以免不必要的错误。

以免不必要的错误。

以免不必要的错误。

Output
整数;整数;
Sample Input
1 +
2 +
3 * 6 / 9 =
Sample Output
5
寻找第K 小的数 1513
Submit: 1372 Accepted:558
Time Limit: 1000MS Memory Limit: 65536K
Description
给你n 个完全不相同整数个完全不相同整数(n<=300)(n<=300)(n<=300),每一个数都大于,每一个数都大于0并且小于10001000,请找出,请找出第k 小的数。

小的数。

Input
输入包括两行,第一行用空格隔开的两个数输入包括两行,第一行用空格隔开的两个数 n n 和k;k;第二行有第二行有n 个不行同的数;个不行同的数; Output
输出第k 小的数字;小的数字;
Sample Input
5 3
3 2 5
4 1
Sample Output
3
北邮2009复试上机题目(转回忆版)……
以下是回忆版,如有雷同,实属巧合以下是回忆版,如有雷同,实属巧合
1,求平均分求平均分
输入:两行两行
第一行是分数个数n
第二行是这n 个分数,以空格隔开以空格隔开
输出:去掉最高分与最低分后的平均成绩去掉最高分与最低分后的平均成绩
2,密码密码
输入:一行一行
第一行:26个小写字母个小写字母 以空格隔开以空格隔开
如 b a c e u f g h i j k l m n o p q r s t v w x y z d................. v y z r s q
第二行:一个字符串(大写字母) 如: BUPTZ
输出:
(B 用第一行的第二个字母替换,U 用第21个替换,P 用第('A'-'P'+1)个替换,明白我意思吧...,Z 用第26个字母q 替换)
3,排序排序
输入:四行四行
第一行:个数N1(2 3 4 5 6)
第二行:N1个数,升序排列(序列a)
第三行:个数N2(4 5 6 8 9)
第四行:N2个数,升序排列(序列b)
输出:N2行
2
3
4
5 5
第i 行是,a 中小于中小于 b 的第i 个数个数 的数的个数的数的个数
4,哈夫曼编码哈夫曼编码
输入:两行两行
第一行:个数N (5)
第二行:N 个以空格隔开的数,表示这N 个字符的出现次数(1 2 3 4 5)
输出:一行,哈夫曼编码的平均长度哈夫曼编码的平均长度
2010北邮复试上机网研的题目
第一题:查找 1818
输入数组长度输入数组长度
n 输入数组输入数组
a[1...n] 输入查找个数m
输入查找数字b[1...m]
输出输出
YES or NO 查找有则YES 否则NO
如(括号内容为注释)
输入:输入:
5(数组长度)
1 5
2 4 3(数组)
3(查找个数)
2 5 6(查找具体数字)
输出:输出:
YES
YES
NO
第二题:查找第K 小数1819
查找一个数组的第K 小的数,注意同样大小算一样大小的数,注意同样大小算一样大

2 1
3
4
5 2 第三小数为3
如(括号内容为注释)
输入:输入:
6(数组长度n)
2 1
3 5 2 2(数组)
3(K 即为第三小数)
输出:输出:
3
第三题:打牌1820
牌只有1到9,手里拿着已经排好序的牌a ,对方出牌b ,用程序判断手中牌是否能够压过对方出牌,用程序判断手中牌是否能够压过对方出牌
规则:出牌牌型有5种
[1]一张一张 如4 则5...9可压过可压过
[2]两张两张 如44 则55,66,77,...,99可压过可压过
[3]三张三张
如444 规则如[2] [4]四张四张
如4444 规则如[2] [5]五张五张 牌型只有12345 23456 34567 45678 56789五个,后面的比前面的均大五个,后面的比前面的均大
压过输出YES 否则NO
如(括号内容为注释)
输入:输入:
12233445566677(手中牌)
33(出牌)
输出:输出:
YES
第四题:树 查找1821
简单说就是一棵树,简单说就是一棵树,输出某一深度的所有节点,输出某一深度的所有节点,输出某一深度的所有节点,有则输出这些节点,有则输出这些节点,有则输出这些节点,无则输出无则输出EMPTY ,具体描述得借助图形比较好,懒得写了,基本就是这个样子的。

2010计算机学院上机题目回忆版
ACM ——BOJ ——2010年北邮计算机学院研究生入学考试
(复试)上机测试——即1814(A 比较奇偶数个数)、1815(B 找最小数)、1816(C 翻转)、1817(D 哈夫曼树)
1814(A 比较奇偶数个数)
题目大意(回忆版):第一行输入一个数,为n ,第二行输入n 个数,这n 个数中,如果偶数比奇数多,输出NO ,否则输出YES 。

Sample:
Input:
5
1 2 3 4 5
Output:
YES
1815(B 找最小数)
题目大意(回忆版):第一行输入一个数n ,1 <= n <= 1000,下面输入n 行数据,每一行有两个数,分别是x y 。

输出一组x y ,该组数据是所有数据中x 最小,且在x 相等的情况下y 最小的。

最小的。

Sample:
Input:
5
3 3
2 2
5 5
2 1
3 6
Output:
2 1
1816(C 翻转)
题目大意(回忆版):该题是要翻转数据。

首先输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y 代表需操作数据为以x y 为左上角的那几个数据。

个数据。

操作类型有四种:操作类型有四种:
1 2 表示:90度,顺时针,翻转4个数个数
1 3 表示:90度,顺时针,翻转9个数个数
2 2 表示:90度,逆时针,翻转4个数个数
2 3 表示:90度,逆时针,翻转9个数个数
Sample:
Input:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
1 3 1 1
Output:
11 6 1 4 5
12 7 2 9 10
13 8 3 14 15
16 17 18 19 20
21 22 23 24 25
1817(D 哈夫曼树)
题目大意(回忆版):哈夫曼树,第一行输入一个数n ,表示叶结点的个数。

需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight ,题目需要输出所有结点的值与权值的乘积之和。

结点的值与权值的乘积之和。

Sample:
Input:
5
1 2 2 5 9
Output:
37
解释:即生成如下图哈夫曼树,结点1的权值为4,结点2的权值为4,结点2的权值为3,结点5的权值为2,结点9的权值为1,和为37。

相关文档
最新文档