10年浙大研究生复试机试题解
A题:A+B(hdoj3787)(九度1003)
水题,不解释,直接上代码:
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 26 27 28 |
|
B题:ZOJ问题(hdoj3788)(九度1006)
题目不是很好懂,要仔细阅读,根据题目的三个条件找规律, 最后发现Accepted的字符串应满足如下条件: 设a为第一个z前o的个数,b为z和j之间o的个数,c为j之后o的个数, 则有c=a*b,其中b>0.代码如下:
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 |
|
C题:奥运排序问题(hdoj3789)(九度1007)
排序问题,题目不难,但要把题目理解正确、做正确却不是那么容易。 注意(1)只需要给M个(而不是N个)国家排序; (2)最后输出结果要按输入的顺序给出(hdoj,但在九度上是要按照国家的编号小到大顺序输出)。 hdoj AC的代码如下:
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
|
D题:最短路径问题(hdoj3790)(九度1008)
双重最短路问题,用dijkstra算法(模板题)。代码如下:
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
E题:二叉搜索树(hdoj3791)(九度1009)
题目给的数据的范围很小,一开始就考虑用数组来存储树,提交后RE了。 没办法,改用指针实现,果断AC了,代码如下:
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
|
小结:个人感觉,整套题目是这几年来最难得,只因为B题难读懂,C题题意容易误读, D题的双重最短路初次做,表示不会,E题的测试数据又不按题目要求给,很坑爹啊! 如果不幸在10年考的话,估计结局会很悲剧了。