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 出来。