2016级新生周赛(一)题解

A:两位数的逆序:        分离出个位数a和十位数b,然后答案即是a*10+bhttp://paste.ubuntu.com/23411922/B:平均数计算设sum为5个数的和,max为它们的最大值,min为它们的最小值,答案就是(sum-max-min)/3.0http://paste.ubuntu.com/23411924/C:四则运算        zzulioj原题(1037),唯一区别是Wronginput没有感叹号http://paste.ubuntu.com/23411930/D:圆的交点        两圆相离和内含都不会有交点,判断一下圆心距离与两个半径的关系即可http://paste.ubuntu.com/23411936/E:韩信点兵        直接从1枚举到n,但由于n很大不停+1会超时,那么当满足i%a1的时候就要每次+a以减少循环http://paste.ubuntu.com/23411940/F:取石子游戏我们设两个状态:    ①当前剩下的石子数为3的倍数       ②当前剩下的石子数不是3的倍数 假如一开始A面对状态②,如果当前石子数%32,那么A取走2颗石子就会变为状态①,如果当前石子数%3==1,那么A取走4颗石子也会变为状态①,而面对状态①的B无论取多少个,都会使剩下的石子数变为状态②……这样往复,每次到A都是状态②,每次到B都是状态①,而最后剩下的石子数如果是2的正整数次幂,当前玩家即可获得胜利,很显然这个必胜态一定是②,所以A(先手面对状态②的玩家)一定获胜。        总体来讲就是如果一开始的石子个数不是3的倍数就是A赢(先手赢),否则就是B赢http://paste.ubuntu.com/23411945/比赛网址:http://172.18.66.54:50015/JudgeOnline/contest.php?cid=1006bycds

posted @ 2022-10-22 18:33  河南工业大学算法协会  阅读(31)  评论(0编辑  收藏  举报