首页 > 代码库 > 清华大学软件2016机试
清华大学软件2016机试
机试完几天了,两个月的准备就是为了这三小时的三道题,趁着没忘记,把题目贡献出来,也算是继承学长的光荣传统,泽被后人吧!
1.大数乘法
先输入一个数字m,表示后面将输入m个数,接着输入m个0到9的数,以空格隔开(至少有一个不为0),这些数可构成一个十进制数a, a的三次方为数b, 求b的各个位的数字,输出时以空格隔开,不要输出多余的空格。
输入示例:
4 1 2 3 4
输出示例:
1 8 7 9 0 8 0 9 0 4
思路:题目不难,用大数乘法做之
2.最短时间
给一个有向图,图的各个顶点的编号在int范围内,顶点之间边的权值表示通过两个顶点之间的时间,求某一点到达另一点的最小时间。如果不能到达,输出-1。
思路:用map将顶点编号做个映射,其余用迪杰斯特拉算法即可
3.寻找表达式
先输入一个数字m,表示后面将输入m个数,接着输入m个数,接着你需要判断:在前m-1个数之间填入运算符号,使其运算后是否能得到最后一个数。如果可以,输出1,不可以,输出0.需要注意的是,有些整数运算虽然除不尽,但也可能出现结果。比如1/5+4/5 = 1
输入示例:
5 1 2 3 4 10
输出示例:
1
思路:没想到太好的办法,只好一个一个判断。模拟分数进行加减法运算。希望读者能提供更好的思路。
清华大学软件2016机试
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。