程序设计比赛试题

上传人:re****.1 文档编号:486974373 上传时间:2023-10-23 格式:DOC 页数:68 大小:122.50KB
返回 下载 相关 举报
程序设计比赛试题_第1页
第1页 / 共68页
程序设计比赛试题_第2页
第2页 / 共68页
程序设计比赛试题_第3页
第3页 / 共68页
程序设计比赛试题_第4页
第4页 / 共68页
程序设计比赛试题_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《程序设计比赛试题》由会员分享,可在线阅读,更多相关《程序设计比赛试题(68页珍藏版)》请在金锄头文库上搜索。

1、程序设计比赛试题最少钱币数:【问题描述】这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了6种钱币面值为2、5、10、20、50、100,用来凑15元,可以用5个2元、1个5元,或者3个5元,或者1个5元、1个10元,等等。显然,最少需要2个钱币才能凑成15元。你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。【要求】【数据输入】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值M(1=M=2000,整数),接着的一行中,第一个整数K(1=K=10)表示币种个数,随后是K个互不相同的钱币面值Ki(1=

2、Ki=1000)。输入M=0时结束。【数据输出】每个测试用例输出一行,即凑成钱数值M最少需要的钱币个数。如果凑钱失败,输出“Impossible”。你可以假设,每种待凑钱币的数量是无限多的。【样例输入】156 2 5 10 20 50 10011 20【样例输出】2ImpossibleFeli的生日礼物【问题描述】Felicia的生日是11月1日(和Kitty是同一天生的哦)。于是Feli请来Kitty一起过生日。Kitty带来了最新款的“Kitty猫”玩具准备送给Feli,不过她说,这份礼物可不是白送的。Feli要帮她一个忙,才能够得到心仪已久的玩具。Kitty说,“Kitty猫”玩具已经卖

3、出了n!个,n=10100*_*,Kitty想知道确切的数字,而不是无聊的“一个数加个感叹号”。Feli听了大吃一惊。要知道,算出n!是一个无比艰巨的任务。Feli告诉Kitty,就算Feli算出n!,Kitty也看不下去,因为当n=20时,计算机的长整型已经存不下了(Kitty只能接受1-9之间的数字)。于是Kitty说,你只要告诉我n!最后一位非0的数就可以了。Feli想了想,立刻动手写了个程序算出了正确的答案。现在,请你也试试看!注意哦,AC的男生将会得到一个“Hello Kitty”计算器(可编程,CPU 1THz,Mem 1TMB),AC的女生将会得到一个仿真“Hello Kitty

4、”宠物(善解人意,无须喂养,智商1101,附带写情书功能)。【要求】【数据输入】每行一个n,直到输入数据结束【数据输出】对应输入的n,每行输出一个答案【样例输入】1101【样例输出】8蛇行矩阵【问题描述】蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。【要求】【数据输入】本题有多组数据,每组数据由一个正整数N组成。(N不大于100)【数据输出】对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。【样例输入】5【样例输出】1 3 6 10 152 5 9 144 8 137 1211青蛙的约会【问题描述】两只青蛙在

5、网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。我们把这两只青蛙分别叫做青蛙A和青蛙B,并且规定纬度线上东经0度处为原点,由东往西为正方向,单位长度1米,这样我们就得到了一条首尾相接的数轴。设

6、青蛙A的出发点坐标是x,青蛙B的出发点坐标是y。青蛙A一次能跳m米,青蛙B一次能跳n米,两只青蛙跳一次所花费的时间相同。纬度线总长L米。现在要你求出它们跳了几次以后才会碰面。【要求】【数据输入】输入只包括一行5个整数x,y,m,n,L,其中xy 2000000000,0 m、n 2000000000,0 L 2100000000。【数据输出】输出碰面所需要的跳跃次数,如果永远不可能碰面则输出一行Impossible【样例输入】1 2 3 4 5【样例输出】4敲七【问题描述】输出7和7的倍数,还有包含7的数字例如(17,27,37.70,71,72,73.)【要求】【数据输入】一个整数N。(N不

7、大于30000)【数据输出】从小到大排列的不大于N的与7有关的数字,每行一个。【样例输入】20【样例输出】71417连续邮资问题【问题描述】G国发行了n种不同面值的邮票,并且规定每张信封上最多只允许贴m张邮票。连续邮资问题要求对于给定的n和m的值,给出邮票面值的最佳设计,使得可在1张信封上贴出从邮资1开始,增量为1的最大连续邮资区间。例如,当n=5和m=4时,面值为(1,3,11,15,32)的5种邮票可以贴出邮资的最大连续邮资区间是1到70。编程任务:对于给定的正整数m和n,计算出邮票面值的最佳设计。【要求】【数据输入】输入数据每一行给出2个正整数m和n的值(1=n,m=9),最后以0 0表

8、示文件结束。【数据输出】对于输以假定(ai, aj) = 1.输出包含一个正整数,即为Andy家至少养猪的数目。【样例输入】33 15 17 2【样例输出】16kitty猫的基因编码【问题描述】kitty 的基因编码如下定义:kitty的基因由一串长度2k(k=8)的01序列构成,为了方便研究,需要把,01序列转换为ABC编码。用T(s)来表示01序列s的ABC编码T(s)A(当S全由0组成)T(s)B(当s全由1组成)T(s)C+T(s1)+T(s2)s1,s2为把s等分为2个长度相等的子串比如 T(00)=A T(00001111)=CAB【要求】【数据输入】一行,长度为2k,为kitty

9、猫的01基因编码,有多个数据【数据输出】一行,由ABC构成的ABC编码【样例输出】01001011【样例输出】CCCABACCBAB取石子游戏【问题描述】有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。【要求】【数据输入】输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,

10、000。【数据输出】输出对应也有若干行,每行包含一个数字1或0,如果最后你是胜者,则为1,反之,则为0。【样例输入】2 18 44 7【样例输出】010勇气的挑战【问题描述】给定n个点的坐标(x,y,z),且n=50,从点1出发,怎么样才能走一条路径,访问每个点一次且仅一次,使走过的距离和最小?【要求】【数据输入】多组数据.第1行n,然后n行3个整数坐标【数据输出】每组一行,代表最小权和【样例输入】30 0 01 1 01 -1 0【样例输出】3.4统计同成绩学生人数Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768

11、 K (Java/Others)Total Submission(s): 1608 Accepted Submission(s): 877【问题描述】读入N名学生的成绩,将获得某一给定分数的学生人数输出。 【要求】【数据输入】测试输入包含若干测试用例,每个测试用例的格式为第1行:N第2行:N名学生的成绩,相邻两数字用一个空格间隔。第3行:给定分数当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。 【数据输出】对每个测试用例,将获得给定分数的学生人数输出。 【样例输出】380 60 9060285 660560 75 90 55 75750【样例输出】10

12、2钱币兑换问题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 494 Accepted Submission(s): 247【问题描述】在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。 【要求】【数据输入】每行只有一个正整数N,N小于32768。 【数据输出】对应每个输入,输出兑换方法数。 【样例输入】293412553【样例输出】71883113137761字串数Time Limit: 20

13、00/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 405 Accepted Submission(s): 90【问题描述】一个A和两个B一共可以组成三种字符串:ABB,BAB,BBA.给定若赶字母和它们相应的个数,计算一共可以组成多少个不同的字符串. 【要求】【数据输入】每组测试数据分两行,第一行为n(1=n=26),表示不同字母的个数,第二行为n个数A1,A2,.,An(1=Ai=12),表示每种字母的个数.测试数据以n=0为结束. 【数据输出】对于每一组测试数据,输出

14、一个m,表示一共有多少种字符串. 【样例输入】21 232 2 20【样例输出】390小希的数表Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 201 Accepted Submission(s): 48【问题描述】Gardon 昨天给小希布置了一道作业,即根据一张由不超过5000的N(3=N=100)个正整数组成的数表两两相加得到N*(N-1)/2个和,然后再将它们排序。例如,如果数表里含有四个数1,3,4,9,那么正确答案是4,5,7,10,12,13。小希做完作业以后出去玩了一阵,可是下午回家时发现原来的那张数表不见了,好在她做出的答案还在,你能帮助她根据她的答案计算出原来的数表么? 【要求】【数据输入】包含多组数据,每组数据以一个N开头,接下来的一行有按照大小顺序排列的N*(N-1)/2个数,是小希完成的答案。文件最后以一个0结束。假设输入保证解的存在性和唯一性。 【数据输出】对于每组数据,输出原来的数表。它们也应当是按照顺序排列的。 【样例输入】4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号