ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:90.81KB ,
资源ID:9656725      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9656725.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(历届程序设计acm试题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

历届程序设计acm试题.docx

1、历届程序设计acm试题搜集的南开大学的ACM试题与你共享A 南开大学Onlinejudge 在线判题系统 A. Lucy的新难题 时间限制:2秒内存限制:32000KB不知不觉,南开大学第三届“我为程序狂”又要拉开帷幕了。这天,Lucy也来到南开大学ACM协会,与大家共同欢庆NKPC的三周岁的日子。谈笑间,ACM协会的主席拿了圆形的生日蛋糕。大伙开心地唱完了生日歌,一起吹灭了蜡烛。要分蛋糕了,大家都很兴奋。本着公平的原则,每位到场的人员都要在蛋糕上切一刀。ACM协会的主席事先知道有n位朋友会参与这个欢庆宴会。为了方便大家切蛋糕,主席在订蛋糕的时候就嘱咐在蛋糕的边缘布置上2n朵小花。每个人切蛋糕

2、都会从蛋糕的边缘的一朵小花笔直地切到蛋糕的另一端的小花,来表达自己对NKPC的祝福。为了尊重其他同学,每个人在切蛋糕一定不会和蛋糕上已有的切痕相交,也不会从别人已切过的小花作为切蛋糕的起点或终点。同时,每位同学在切蛋糕的时候,都要保证后面所有的同学都能够按照上述的规则切蛋糕。这样,蛋糕上就留下n条切痕。Lucy眨巴眨巴眼睛,问,要是不考虑切蛋糕的先后顺序和谁切的哪一刀,这蛋糕切完了共有多少种切法呢?大家听了呵呵一笑,说,那就把这个问题留给NKPC3,作为Lucy的新难题吧。相信聪明的你,一定能够帮Lucy解答她的难题的,对吗?输入 (请使用标准输入输出,而不要读写文件)输入包括多组测试数据,你

3、应当处理到输入结束为止。每组输入数据中,都只有一行,仅包含一个正整数n,且0n30。 输出 (请使用标准输入输出,而不要读写文件) 对于每组输入数据,输出两行。对于第i组输入数据,输出的第一行为”Case i:”,输出的第二行为切蛋糕的方法数。样例输入样例输出12Case 1:1Case 2:2B 南开大学Onlinejudge 在线判题系统 B. 保龄球时间限制:2秒内存限制:32000KB南开大学ACM协会的一个元老毕业后,开了家保龄球馆。他需要为他的保龄球馆的计算机写一个记分的程序。一局(GAME)保龄球分为10格,每格里有两次投球机会,如在第一次投球时没能全中,就有需要投第二球。每一格

4、可能出现三种情况:1.失球(MISS)无论何种情况,在一格的两次投球时,未能击倒10个瓶,此格的分数为击倒的瓶数。如果一次击球中未击倒一个瓶,则用一个-标记。2.补中(SPARE)要一次击倒十个瓶子并非那么容易的!如果在第一次掷球后,你还有一次机会来击倒该格第一球所留下的情致。当第二次投球击倒该格第一球余下的全部瓶子,称为补中,用一个/符号表示。补中的记分是10分加上下一次投球击倒的瓶数。3.全中(STRIKE)当每一格的第一次投球击倒全部竖立的十个瓶时,称为全中,用一个()符号表示。全中的记分是10分(击倒的瓶)加该球员下两次投球击倒的瓶数。但在第十格中情况比较特殊:(1)如第二次投球未补中

5、,则第十格得分为第九格得分加上第十格所击倒瓶数。(2)如第二次投球补中,则追加一次投球机会,第十格得分为第九格得他加上10加上追加一次投球击倒瓶数。(3)如第一球为全中,则追上加二次投球机会,第十格得分为第九格得分加上10加追加二次投球击倒的瓶数。因此从第一格到第十格的两次追加投球,都为全中,则为12个全中,得分为满分300分。输入 (请使用标准输入输出,而不要读写文件)输入包括多组测试数据,你应当处理到输入结束为止。每组输入数据中,都只有一行,包含一局的记分符号,相邻的两个符号之间以一个空格隔开。记分的符号仅包括-(不含引号)、/(不含引号)、X(不含引号)及阿拉伯数字1到9。输出 (请使用

6、标准输入输出,而不要读写文件)对于每组输入数据,输出两行。对于第i组输入数据,输出的第一行为”Case i:”,输出的第二行为10个整数,表示每格的累计得分。相邻的两个得分以一个空格隔开。样例输入样例输出X X X X X 5 / 7 1 - - X X X X4 4 3 3 2 2 1 7 7 1 2 - 9 / 2 2 6 3 2 / 1Case 1:30 60 90 115 135 152 160 160 190 220Case 2:8 14 18 26 34 36 48 52 61 72C 南开大学Onlinejudge 在线判题系统 C. 计算机硬件评分系统时间限制:2秒内存限制:3

7、2000KB小C听说微软新推出的一款操作系统Windows Vista可以对电脑的配置进行评分,很感兴趣。由于小C对硬件软件方面都很了解,就通过一系列的市场调查与实践,制作了一款自己的计算机硬件评分系统。此系统可以对CPU、内存、硬盘、主板、显卡五部分分别进行评分,分数为不超过100的正整数,并以这五个分数中的最低分作为对计算机的总体评分。同寝室的小D打算最近购置一台新电脑,他请小C给他当参谋,小C就提供了一些当前的CPU、内存、硬盘、主板、显卡五种硬件的品牌、价格以及每个硬件由他所制作的系统所评价出来的分数。小D准备至多用N元来购买这五种硬件并且他还希望能够得到一台电脑有尽量高的总体评分。作

8、为寝室长的你主动要写一个程序来帮助小D购买电脑。输入 (请使用标准输入输出,而不要读写文件)第一行是一个正整数,不大于50000,表示上述的N。之后共有五部分的数据,分别代表CPU、内存、硬盘、主板、显卡部分的资料描述。每一部分的第一行均为一个正整数,表示资料中所提供的这种硬件品种数目M。下面M行每一行都描述了一个品种的情况,包括两个整数,以空格隔开。第一个整数介于1于10000,表示该品种的价格,第二个正整数表示该硬件所得到的分数。假定所列出的硬件相互都是兼容的。输出 (请使用标准输入输出,而不要读写文件)输出两行,每行一个正整数。第一行表示所购电脑的总体评分最大值。第二行表示要购买上述总体

9、评分的电脑所需最少花费。如果小D的钱不足以购置这些硬件,则输出的两个数字均为0样例输入样例输出30004880 80400 60495 72240 553635 78 345 59785 862800 88603 712499 72590 793588 76999 84289 51712820D 南开大学Onlinejudge 在线判题系统 D. 朋友们的距离时间限制:2秒内存限制:32000KB要放假了,考完了所有试就等着上火车回家的 Butterfly0923 面对着自己心爱的计算机,无聊的逛着我爱南开 BBS,眼看着在线好友列表的长度一天天减少。“来自”一栏中的 IP 都还是校内的,大多

10、以 10 开头。Butterfly0923 看到大部分人跟自己同在 21 宿,还有 15 宿的老乡、13 宿的狐朋狗友们、西区的研究生、12 宿的音乐狂人和 8 宿的可爱小女生。虽然现在大家仅仅相隔几百米,但是很快彼此将远隔万水千山,分散在祖国各地。如果那时大家一起上线,各地 IP 大展览,一定有趣,Butterfly0923 这样想。不过祖国这么大,不知道大家到底相距多远。于是 Butterfly0923 给所有在线的 ID寄语信鸽,询问他她的家乡与学校之间的距离,他想知道自己的朋友中谁离学校最远。Butterfly0923 知道自己的家距学校 520km,seaeagle 也知道,所以他回

11、信说:我家离学校的距离比你的四倍还多 200km。不过 doraemonok 不知道,他比较务实,直接回信说:12km,公交 1hour。迷糊的 Butterfly0923 想了想,觉得 seaeagle 比较远一点。但是随着问的人越来越多,问题变得复杂起来。unusualwater 说:我的距离是你的十三分之一。aliao 说:我刚问过 gnr,你们的旅途合在一起比我少 194km。而 gnr 老师的回信说:我的路程正好是你的两倍。这回,Butterfly0923 算了好大一会,才知道 aliao 最远。Butterfly0923 最后寄语信鸽了爱好编程的你,不过不是问距离,他告诉你他从各个

12、 ID 得到的信息,希望你能告诉他最远的地方有多少公里,是谁在那里。输入 (请使用标准输入输出,而不要读写文件) 输入数据有多组。每组数据的第一行是在线 ID 的数目 n,Butterfly0923 的好友列表里一共 26 个 ID,所以 n 不会超过 26。接下来 n 行是这 n 个在线 ID,每行一个。按照我爱南开 BBS 站的规定,ID 由 2-12 个英文字母组成,大小写不敏感。再往下 n 行是从各人回信中得到的信息。方便起见,Butterfly0923 把每条信息写成等式的形式。等号两边有一些项,每一项都是 num*ID 的形式,num 是一个正整数,没有符号,多项之间以加号分隔,最

13、后一项可能是一个常数。Butterfly0923 自己也可能出现在等式中,注意它不是一个 ID 它太长了。Butterfly0923 保证在一个等式中不会出现相同的 ID,每个人的距离(如果能算得出的话)都是整数。所有 ID 和等式中都不会出现任何前导、后缀以及符号两侧的空格。 输出 (请使用标准输入输出,而不要读写文件)对于每一组输入,首先输出一行 Case #,这里 # 是按组从 1 开始的编号。如果朋友们给 Butterfly0923 的信息不足以确定全部人的距离,就在第二行输出 “Im not sure about someones distance.” 否则第二行输出你计算出的最远距

14、离,第三行输出跟最远距离对应的 ID,如果这样的 ID 不止一个,按照它们在输入中出现的顺序每行输出一个。样例输入样例输出2seaeagledoraemonok1*seaeagle=4*Butterfly0923+2001*doraemonok=123unusualwateraliaognr13*unusualwater=1*Butterfly09231*aliao=1*Butterfly0923+1*gnr+1941*gnr=2*Butterfly0923Case 1:2280seaeagleCase 2:1754aliaoaliao提示 留意 n 的下限。 ID 不区分大小写,但是大写字母

15、是允许的。 常数项只会出现在最右边。 等式中的 Butterfly0923 实际上相当于常数,注意它可能会重复出现。 注意并列最远的情形。 注意不能确定的情形。 虽然系数及最后结果都是整数,但是计算过程中可能需要浮点数。E 南开大学Onlinejudge 在线判题系统 E. 羽毛球轨迹估算时间限制:2秒内存限制:32000KBButterfly0923 喜欢打羽毛球,尽管打得不是很好。某节杨明老师的羽毛球课上,刚刚打赢了 Butterfly0923 的英语系老陈得意的问:“嘿,你知道羽毛球的英文叫做什么?”“嗯 feather ball 吧”“No, badminton. Do you kno

16、w why? 这是羽毛球起源的地方,是英国的一个小镇。”这时杨老师开始讲课:“大家看,羽毛球的飞行轨迹是很有特点的,跟排球篮球足球不一样,羽毛球向上升到最高点,然后几乎垂直落下来。” Butterfly0923 突然对老陈说:“告诉我初始的速度,高度和角度,我可以告诉你这个球可以飞多远。”Butterfly0923 的想法是这样的:假定飞行的羽毛球只受到竖直向下的重力G,和与飞行速度v方向相反的空气阻力f,且空气阻力的大小f = k v,其中k为常数。设 t = 0 时球具有初速度v0,速度与水平方向夹角为 ,击球高度为y0。比如,当 k = 0.018 时,一只重 10g 的羽毛球在离地面

17、2m的地方斜向上与水平方向成 45角,以20m/s 的速度飞出,按照这个模型,经过 2.34 秒,羽毛球会落在大约 7.74m 远的地方,如下图所示:Butterfly0923 对自己的模型还是很满意的,他正在尝试以不同的角度和力度打一些不同的球,老陈帮忙测量实际距离。OK,你的任务是计算一下按照这个模型,Butterfly0923 打出去的球会落在离他多远的地方。输入 (请使用标准输入输出,而不要读写文件)输入由多组测试数据组成,每组测试数据一行,请一直处理到文件结束。每组数据由五个数组成。第一个数是击球的角度 ,杨老师刚刚教了 Butterfly0923 如何扣杀,所以 可能是 -90,

18、90 内的任何整数。接下来是球的初速 v0 (m/s)、击球点的高度 y0 (m)、球的质量 m (kg) 和 阻力系数 k,都是非负的浮点数,m0,g=9.8 N/kg。输出 (请使用标准输入输出,而不要读写文件)对于每一组测试数据,输出两行,第一行为 “Case #:”,这里 # 是按组从 1 开始的编号,第二行为你计算出的落地距离,保留两位小数。样例输入样例输出45 20 2 0.01 0.018Case 1: 7.74提示 注意输入数据的边界,有些情况可能需要特殊处理。 记得舍入到小数点后两位。F 南开大学Onlinejudge 在线判题系统 F找出公共区域时间限制:2秒内存限制:32

19、000KBBetty喜欢玩剪纸。现在她有两张已经剪好的凸多边形需要粘在一起。她打算在两张纸的公共区域涂满浆糊,你能计算出这个公共区域有多大吗?输入 (请使用标准输入输出,而不要读写文件)输入由两部分组成,每部分的第一行为一个整数介于3和30之间,表示该凸多边形的顶点数目。下面各行每行包含两个实数,表示凸多边形顶点的横纵坐标。实数的小数部分为六位且绝对值均小于1000。顶点顺序按逆时针给出。输出 (请使用标准输入输出,而不要读写文件)请输出一个包含两位小数的实数,表示两个凸多边形的公共区域面积。样例输入样例输出41.500000 -0.5000003.500000 1.5000001.50000

20、0 3.500000-0.500000 1.50000040.000000 0.0000003.000000 0.0000003.000000 3.0000000.000000 3.0000007.00G 南开大学Onlinejudge 在线判题系统 G游戏时间限制:2秒内存限制:32000KB我们在休闲娱乐的时候常常会去玩一些益智小游戏,像扫雷、祖玛、俄罗斯方块之类的恐怕已经没有几个人没玩过了吧。像这样的游戏能让我们在学习的紧张过后得到一点放松,而且又能活动一下脑子。现在许多RPG风格的游戏也逐渐的加入一些小游戏的元素来丰富游戏内容,像GBA游戏被狙击的名侦探,PC游戏双星物语等等就都出现了

21、类似于下面这种样式的小游戏:在一个nn的方格中,每个方格有一个棋子,棋子或为黑色、或为白色,如图中所示。现在对棋盘进行操作,每步操作只能选中一个方格,之后这个方格及其上下左右四个相邻的方格(如果有的话)中的棋子均变为相反的颜色。游戏开始时给定棋盘A和棋盘B,请你用有限步操作将棋盘A变为棋盘B。你能做到吗?这里不需要你指出如何操作,只需输出需要进行的最少操作次数。例如对下图,只需对棋盘A左上角的格子进行一次操作即可。输入 (请使用标准输入输出,而不要读写文件)第一行为一个整数n(2=n=5),用来说明棋盘的大小。下面一行中的整数m(1=m=50)表示测试用例的个数。每个测试用例包含2*n行,前n

22、行用来描述棋盘A的状态,后n行用来描述棋盘B的状态。1表示黑棋子,0表示白棋子,两数字之间用空格隔开。输出 (请使用标准输入输出,而不要读写文件)输出包含2*m行,每一个测试用例占两行且第一行形如Case i:。如果存在一种操作方法满足要求,则第二行输出为最少操作次数,否则为No Solution! 样例输入样例输出231 00 10 11 00 00 01 11 11 11 01 00 0Case 1:4Case 2:4Case 3:2H 南开大学Onlinejudge 在线判题系统 H. 帅小伙子和俊俏姑娘Special Judge 时间限制:2秒内存限制:32000KB南开大学冰火舞蹈团

23、是一个云集帅小伙子和俊俏姑娘的地方。舞蹈团经常有演出任务。舞蹈团的团长需要给参加排练的同学做合适的舞伴配对,从而使整个节目能发挥出舞蹈团的较好的配合水平。现在,有一个演出任务,需要n名帅小伙子与n名俊俏姑娘男女配对演出。当然,每个帅小伙子只能和一个俊俏姑娘配对成为舞伴。这n名帅小伙子,每个人对这n名俊俏姑娘在心里都有不同的排名,且任意两个姑娘在一个帅小伙子心目中的排名一定是不同的;同样,这n名俊俏姑娘每个人对这n名帅小伙子也都有不同的排名,且任意两个小伙子在一个俊俏姑娘心目中的排名一定是不同的。根据舞蹈团梁团长的经验,如果一个配对组合,使得某位帅小伙子A的舞伴a在这位小伙子心目的排名不如另一位

24、俊俏姑娘b,且这位俊俏姑娘b的舞伴B在她的心目中的排名不如这位帅小伙子A,那么帅小伙子A和俊俏姑娘b在排练的过程中就会有些情绪,演出效果可能就不大好。现在,舞蹈团的梁团长听说你很聪明,想请你帮帮忙,在已知帅小伙子和俊俏姑娘们相互之间心目中的排名的前提下,告诉他是否存在一种合理的配对方案,使得所有的成员都能够在演出过程中不闹情绪?如果存在,请你帮他设计一组方案来为这些帅哥、靓妹们进行舞伴配对。输入 (请使用标准输入输出,而不要读写文件)输入包括多组测试数据,你应当处理到输入结束为止。每组输入数据的第一行是一个正整数n,n50,表示有多少对舞伴。接下来有n行,每行有n个正整数,它们介于1到n,且互

25、不相同,其中第i行的第j列表示第i个姑娘对第j个小伙子的排名。再接下来还有n行,每行也有n个正整数,它们也介于1到n,且互不相同,其中第i行的第j列表示第i个小伙子对第j个姑娘的排名。输出 (请使用标准输入输出,而不要读写文件)对于每组输入数据,输出两行。对于第i组输入数据,输出的第一行为:”Case i:”如果存在合适的配对方案,请输出的第二行输出一个由1到n之间互不相同的正整数组成的序列,相邻的两个正整数用一个空格隔开,第k个正整数表示第k个帅小伙子所配对的俊俏姑娘的编号,表示一种可行的配对方案;否则,请在输出的第二行输出”No Solution!”。样例输入样例输出31 2 31 2 3

26、3 1 22 1 33 2 11 3 221 21 22 12 1Case 1:2 3 1Case 2:2 1I 南开大学Onlinejudge 在线判题系统 I. 有趣的纸牌游戏Special Judge 时间限制:2秒内存限制:32000KB南开大学ACM参赛队要到外地参加现场赛的时候,为了在火车上解乏,带了纸牌。游戏的规则很简单,首先将纸牌中的大、小王取出;然后,在剩余的牌中,每次取出4张牌,并规定A代表1,J代表11,Q代表12,K代表13。而后,所有的玩家使用+、 -、 *、 /、 (、 )将这四张牌所代表的数字连接起来,谁能够最快说出一种能够得到24的四则运算的表达式,或者最快确认

27、这4张牌不可能组成结果为24的四则运算表达式谁就算赢。当然,每张牌都必须要使用,且只能使用一次。为方便起见,大家约定-只代表减号,不代表负号。现在,你能设计一个程序,来赢取这个纸牌游戏的胜利吗?输入 (请使用标准输入输出,而不要读写文件)输入包括多组测试数据,你应当处理到输入结束为止。每组输入数据只包括一行,这一行中有4个介于1和13的正整数(含1和13),代表这一轮游戏中所抽出的四张牌。这些数之间以一个空格相隔开。输出 (请使用标准输入输出,而不要读写文件)对于每组输入数据,输出两行。对于第i组输入数据,输出的第一行为:Case i: 在输出的第二行,若按照游戏规则,这四张牌不能通过一个四则

28、运算的表达式得到24,请输出:No Solution!否则,请输出一个满足这样条件的表达式,允许带多余的括号。例如,对于四张牌:1234,以下三种输出都是正确的:(1+2+3)*4(1+2)+3)*4)1*2*3*4样例输入样例输出1 2 3 41 1 1 1Case 1:(1+2+3)*4Case 2:No Solution!J 南开大学Onlinejudge 在线判题系统 J. 自己当回裁判时间限制:2秒内存限制:32000KB有的人认为,在程序竞赛中当裁判肯定比选手轻松。其实未必。为了让大家过一回当裁判的瘾,本次竞赛的最后一道题目就是让大家自己当一回裁判。大家应该都接触过南开大学的在线判

29、题系统()了吧。相信细心地你应该注意到有的题目被标记上”Special Judge”的字样,比如,本次竞赛的第I题。一般的题目,对于每组测试数据的输入,都会有唯一确定的输出。这样,在线判题系统就可以对于能通过编译,并且在满足题目时间限制和内存使用等限制的条件下正常运行结束的程序进行判断输出是否和预计的输出完全一致,并给予相应的判断结果。而标有”Special Judge”字样的题目,满足题目条件的结果可能并不唯一,这就需要裁判针对这个题目另外写一个程序,来判断程序的结果。南开大学在线判题系统的评判结果一共有以下几种类型:Accepted、Wrong Answer、Compiling、Judging、Rejudging、Time Limit Exceeded、Memory Limit Exceeded、Function Limit Exceeded、Runtime Error、Compile Error、Output limit Exceeded、Presentat

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1