2018级新生周赛(一)题解

本次周赛的范围为:分支和循环,默认大家不会数组,所以下面的题解中都没使用数组。所有参考代码都以链接的方式给出,因为在新浪博客上放代码排版会乱,不利于大家阅读代码。 ProblemA: 友好的第一题 思路:打印字符的时候,尽量复制粘贴,这样既快,又不容易出错。参考代码: https://paste.ubuntu.com/p/y45P4GtHRY/ProblemB:大学生活(二)思路:二重循环+判断语句,需要注意的是绩点的精度问题,保留两位小数,所以存储绩点要用double型。参考代码:  https://paste.ubuntu.com/p/cF3NrKnr5b/ ProblemC:数学(二)思路:从M的个位开始,每次取三位,转化成8进制数。举例: M=1001010111第一步: 取出111, M=1001010, 结果为7第二步:取出010, M=1001, 结果为27第三步:取出001, M=1, 结果为127第四步:取出1, M=0(M=0则结束), 结果为1127最终结果为:1127参考代码: https://paste.ubuntu.com/p/DPRb4SSDJR/ProblemD:午饭问题(二) 思路:仔细读题之后,你会说最终结果和“菜品、主食、饮料”分别有多少种,这两件事没有半毛钱关系,好吧,确实是这样,最终结果只取决于“菜品、主食、饮料”总共有多少种。“菜品、主食、饮料”总共有kinds种,最终结果也就是:  由二项式定理定理可知:   所以最终结果为:2的kinds次方(即pow(2,kinds))。参考代码: https://paste.ubuntu.com/p/SGHyphdJMw/ProblemE:加密工作(二)思路:这题难度其实和第二题差不多,放在第五道是因为 每行输入的行尾有个回车字符。 怕大家以前没遇到过这种情况,所以就放在了后面。处理这种情况的方法在参考代码中已经给出。参考代码: https://paste.ubuntu.com/p/mggS4KSkP8/ProblemF:体育课(二)思路:这道题有点意思,思路就是枚举,从10000一直试到999999,是合法的M输出就好。没有合法的M这种情况需要标记一下,最后输出“无”就好。详情见参考代码,代码可能有点长,大家请耐心阅读,这里没用数组,原因在第一段中已经给出,大家可以用数组自行尝试。参考代码: https://paste.ubuntu.com/p/dT88F3nzR2/ 

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