1、安徽师范大学 ACM 程序设计小组入组测试沉着冷静 细心答题 1安徽师范大学 ACM 程序设计兴趣小组入组测试测试时间:2012 年 3 月 11 日星期日 19:00-21:00题目名称 奖励 素数回文数 24 点游戏 单词距离源文件名 reward.c/cpp prime. c/cpp game. c/cpp distance.c/cpp输入文件名 reward.in prime.in game.in distance.in输出文件名 reward.out prime.out game.out distance.out试题类型 传统型 传统型 传统型 传统型满分 100 100 100 1
2、00是否有部分分 否 否 否 否时限 1 秒 1 秒 1 秒 1 秒注意事项1. 务必看清题目,严格按照所要求的格式输入、输出。2. 在调试程序时请先使用题目中的示例数据,然后再自行设计多组测试数据进行调试。3. 测试有严格的时间限制,请尽可能优化算法。4. 命名规则:(1)每题都规定了该题的英文名称。(2)程序文件和数据文件的主文件名都是该题的英文名字。(3)程序文件扩展名采用语言环境的默认扩展名。(4)数据文件都是文本文件,输入和输出文件的扩展名分别是.in 和.out。5. 程序应从输入文件读取数据,并 严格地按照规 定的输出格式将结果输出到输出文件中。输入数据文件和 输出数据文件都与程
3、序在同一个目录中,由于程序所在目录是不确定的,因此不允 许在程序中含有盘符信息和任何形式的路径信息。6. 选手在竞赛结束时应在 D 盘根目录下建立以姓名命名 的文件夹,并将所完成各题的源程序文件放到该文件夹中。测试以评测系统编译的可执行文件为准,测试系统使用的是标准的编译指令处理源程序,没有附加任何编译选项,请选手按照考试机器上语言环境的默认配置来编译调试自己的程序。*题目难度不分先后顺序安徽师范大学 ACM 程序设计小组入组测试沉着冷静 细心答题 2题目1. 奖励(reward )题目描述:学期结束了,学校打算向学习优秀的学生发奖学金。共用 3 种学科,分 别是数学,语 文,英语;分为 7
4、种奖励方法,如下 奖励规则 :1. 总成绩前 3 名分别奖励 1000,500,300 元;2. 单科成绩前 3 名分别奖励 200,100,50 元;3. 数学 80 分以上(包括 80 分)每人奖励 80 元, 语 文 80 分以上(包括 80 分)奖励 60 元,英语 60 分以上奖励超过 60 的部分钱数;4. 国家奖学金奖励第 1 名 5000 元;5. 不偏科奖学金,奖励 3 科均为 80 分以上(包括 80 分)的同学每人 400 元;6. 单科特别突出奖励,单科在 98 分以上(包括 98 分)一科奖励 100 元,两科奖励 300 元,三科奖励 500 元;7. 鼓励奖每科均
5、在 60 分到 80 分之间(包括 60 分不包括 80 分)奖励 30 元;输入:第一行一个整数 n(10=n=1000)表示学生数第 2 行到第 n+1 行每行有一个字符串和三个整数分别代表人名,数学,语文,英语成绩,人名不超过 20 个字符,分数均是 100 分制的。输出:需要支付的总共钱数。(注意名次并列的情况)样例:输入(reward.in):10xiaojian 100 100 100xiaoming 98 99 100安徽师范大学 ACM 程序设计小组入组测试沉着冷静 细心答题 3alei 86 80 79yaozi 88 74 68dading 76 90 80jiwei 80
6、 76 69xuyi 77 66 55guandao 86 59 68dage 87 66 60zhang 82 76 83输出(reward.out ):108972. 素数回文数(prime)题目描述:对于一个数,如果从右至左和从右至左读出的数都一样,那么把它称为回文数。例如 12321、4、66、838 都是回文数。对于任意大于 1 的整数,若仅包含 1 和它本身两个因子,那么它是素数(也称质数)。数字 151 是一个素数回文数,因为它既是素数,又是回文数。现给你两个数 a,b,求出他 们的最大公约数 n。然后找出小于等于n的正整数中是素数回文数的个数。输入:a 和 b(a,b=1000
7、00)输出:小于等于 n 的正整数中是素数回文数的个数。样例:输入(prime.in):12 24输出(prime.out):5 注释:2,3,5, 7,11 共 5 个3. 24 点游戏(game)题目描述:几十年前全世界就流行一种数字游戏,至今仍有人乐此不倦。在中国我们把这种游戏成为“ 算 24 点” 。你作为游戏者将得到 4 个 1-9 之间的自然数作为操作数,而你的任务是对这 4 个操作数进行适当的算术运算,要求运算结果为 24.你可以使用的运算有:+,*,你 还可以使用()来改变运算顺序。 4 个数的安徽师范大学 ACM 程序设计小组入组测试沉着冷静 细心答题 4顺序随便。例:1 2
8、 3 7 1+2+3*7=24 与(1+2)*7+3=24 均可。输入:4 个 1-9 之间的自然数输出:如果能得到 24,则输出“YES” ,否则输出“NO”。样例:输入(game.in):1 2 3 7输出(game.out):YES 注释:1+2+3*7=24提示:用搜索回溯做4.单词距离(distance )题目描述:两串字符串 x,完美称在 x 的头尾及中间插入任意多个空格后构成的新字符串为x 的扩展字符串,如 x 为“abcbabssc”,则字符串“abcbabssc”,“abcbabssc”“ abcbabssc”都是 x 的扩 展串, 代表空格。 现在有两个字符串 a,b,经过扩展后得到 a和 b,经过扩展后 a和 b的长度相同,计算 a和 b的距离,定义单词距离为对应的字母的 ASCII 码的差的绝对值,字母和空格之间的距离为给定值 k,空格和空格之间的距离为 0。输入:共三行分别为 a,b,k(1=k=100),字符串长度不超过 2000.输出:仅一个正整数,表示 a,b 的最小距离。样例:输入(distance.in):cmcsnmn2输出(distance.out):10