昨天去参加了乙级的考试,99,心塞,差一分就100啦。这段时间刷乙级的题,虽然大部分都算水题,但也发现很多小问题,也看到别人的一些巨简单的做法,还是有学到很多
说一下昨天几道题的解题思路,就不上代码了
A.判断题:
用两个数组存每道题的满分和答案,然后遍历学生,输入并比较,同时计算分数
B.最简分数:
三个分母通分,找在n1--n2之间的数,并且该数与k的最大公约数为1.可以单独写个求最大公约数的函数,后面都可以调用,方便一点。
就是这道题,有个测试点一直没过,扣了一分
C.计算谱半径:
就是遍历求平方和再开方,求最大值,用sqrt()就行,很简单
D.朋友数:
因为所有数都小于10^4,所以最大的为9+9+9+9=36,定义一个数组,下标为0-37,表示朋友证号,出现过则值为1,否则为0,最后遍历输出非0的就行
E.单身狗:
用三个数组完成:
1)isDog[100005](id在00000-99999之间)存放伴侣的id,没有伴侣的存-1
2)isCome[100005] 来party的存1,没来的存0
3)finally[10005] 存放最后输出的人 遍历0--100005
有两种情况:a.来了 && 是单身狗
b.来了 && 不是单身狗 && 伴侣没有来
解题就这样,嗯,接下来就开始刷甲级了