2013 计算机学院复试机试
第一题
进制转换 0-9&a-z
水题,书上所说的 c 语言 int char 互相转换。
第二题
去最高,去最低,求总分
水题,基本都能做对吧。
第三题
最短路径问题,
中档题,在初试一般是实做题,不需要背算法,但是复试考察算法了。
如果把对于算法背住了,不难的。
第四题
表达式求值只有+*没括号
计算器问题,真题和上机考试考察多次了,很重要~
2017 年天大软件学院院机试
因式分解;
数学问题,数学问题考的比较多,类比 18 年最后一道题。
统计输入的字符个数;
水题,遍历字符串就好;
字符统计变形,如 aaaabcddd 变为 a4bcd3
基本没啥难度,水题。
2018 年天津大学夏令营机试
1.有如下的数列 0,1,1,2,3,5,8……
第一行给你一个 T,表示接下来要输入 T 行数字(0
剩下 T 行每行输入数字 N(0<=N<=100000)
要求输出数列中第 N 个数,记为 RESULT
如果 N 数字太大,则输出 result mod 1e9+7
示例输入
3
0
1
5
输出
0
1
5
水题。
2. 有两个人互传信息,使用加密算法,小写字母变成他后面的一位,大写字母变成小写字母
大概就是 a->b,b->c,z->a,A->a
第一行给你一个 T,表示接下来要输入 T 行字符串
剩下 T 行每行输入字符串
最后输出加密后结果
示例输入
3
aabc
ccba
AAbb
输出
bbcd
ddcb
aabb
水题。
3.
小红和小明要做风筝,小红认为直角三角形的风筝最好了
但他们只有 n 根木棍,要从中间选出可以做成最大直角三角形的三根。
输入
第一行给你一个 T,表示接下来要做 T 个风筝
剩下每次输入一个数 N,表示现有 N 根木棍
后面一行输入 N 个数字,表示这几根木棍的长度
输出
输出能拼成最大三角形的三根木棍(升序输出)
示例输入
2
5
3 6 8 4 5
6
3 12 4 5 13 10
输出
3 4 5
5 12 13
数学问题。
2018 年复试机试
1.排序题
基本没啥难度,但是还有同学机试 0 分。
2.矩阵的乘法
中档题。用笔画画过程,基本就能 AC
3.动态规划
动态规划比较难了,属于拔高题型,有 acm 经验的同学基本没啥问题。
4 梯子问题
广度优先搜索相关算法。
2019 夏令营
1.输入的字符串是否为 magical string——即要使字符串满足连续的 k(k 为正整数)个'>'后跟 k 个'<',至
少需要进行多少次的转换(转换指'>'和'<'之间的互相转换),输入说明:第一行为输入的字符串总的行数,
且输入字符串的长度为偶数。
input:
3
>><<><
>><<
output:
2
0
2.求一个人去旅游能到达的最多的城市,输入说明:第一行为输入的输入样例组数,接着为 n,m(n 为这个
人旅行的总天数,m 为计划旅行的总城市数),接下来一行为一个整数 d[i],每一位依次表示游览每个城市所需
的天数。
3.插入三个'.'形成 A.B.C.D(A、B、C、D 在[0,255]之间,且不能以 0 作为前缀),判断能组成的 ip 的个数,
输入说明:第一行为输入字符串的行数,接下来依次输入字符串。
Input
2
0000
25525511123
output
1
2
0000 是可以组成有效 ip 地址 0.0.0.0 的,但是 0.010.0.0 是无效 ip 地址因为破坏了前缀不能为 0 的规则。
25525511123 可以有两种组合:(1)255.255.11.123;(2)255.255.111.23.
2019 年
1.输入由一行整数构成的数组,输出数组中小于此整数的数字的个数。输入格式:第一行:先输入数组元素
的个数 N(<1000000),测试用例数 M;第二行:输入数组,以空格隔开;输出格式:小于给定 M 的数
字的个数
输入样例:
7 5
1 4 3 9 5 6 6
输出样例:3
这道题简直送分的基本,但是好多人机试都 0 分。
2.十进制转换成八进制。输入格式:十进制数字输出格式:八进制
数字输入样例:150
输出样例:226
栈的灵活应用,之前在天勤笔记和学长的复习资料见过。基本也是送分题。
3.输入字符串的中缀表达式包含‘+’、‘-’、‘*’、‘/’、‘(’、‘)’,输出运算结果。输入格
式:字符串的中缀表达式输出格式:计算结果
输入样例:3+(5-3)*2
输出样例:7
计算器;2018 年也考过了,之前在真题也有出现,可以看出计算器和计算器的相关灵活应用比较多。需要重
点关注下相关变形类型。属于中档题,但是背过相关代码不成问题。
4.某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通
工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道
路可达即可)。问最少还需要建设多少条道路?输入格式:测试输入包含若干测试用例。每个测试用例的第
1 行给出两个正整数,分别是城镇数目 N ( < 1000 )和道路数目 M;随后的 M 行对应 M 条道路,每行给出
一对正整数,分别是该条道路直接连通的两个城镇的编号。为简单起见,城镇从 1 到 N 编号。注意:两个城
市之间可以有多条道路相通,也就是说 3 31 21 22 1 这种输入也是合法的当 N 为 0 时,输入结束,该用例不
被处理。输出格式:对每个测试用例,在 1 行里输出最少还需要建设的道路数目。
输入样例:
4 2
1 3
4 3
3 3
1 2
1 3
2 3
5 2
1 2
3 5
999 0
0
输出样例:
1
0
2
998 考察的是集合的数学思想,需要根据实际问题抽象出数学模型,如果你能在短时间内理解这道题目的数
学本质,很快就能 AC 出来。