重庆市第二届程序设计大赛题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆市第二届程序设计大赛
1 数字的游戏
输入文件名:gaspar.in 输出文件名:estdout.pc2
问题描述:
N个教徒和N个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是他们想了一个办法:2N个人围成一圈,从第一个人开始依次循环报数,每数到第9个人就将他扔进大海,如此循环直到只剩下N个人为止。问怎样的站法,才能使得每次投入大海的都是非教徒。
输入:
输入文件由一行构成,就是N的值
输出:
输出文件是一行字符串,字符串由N个'@'字符(代表教徒)和N个'+'字符(代表非教徒)排列组成。该排列使得按照提述方法每次投入大海的都是非教徒。
输入样本:
15
输出样本:
@@@@+++++@@+@@@+@++@@+++@++@@+
2 翻译
输入文件:trans.in 输出文件:estdout.pc2
问题描述:
小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。
这个软件的原理很简单,他只是从头到尾,一次将每个单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它来翻译;如果内存中没有,软件就会在外存中的词典里查找,查出单词的中文含义然后翻译,并将这个单词和含义放入内存,以备后续查找和翻译。
假设内存中有M个单元,每个单元能存放一个单词和含义。每当软件将一个新单词存入内存前,如果当前内存中已经存入的单词数不超过M,软件会将新单词存入下一个未使用的内存单元;若内存中已存入M个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。
假设一篇英语文章长度为N个单词,给定这篇待译文章,翻译软件需要去外存查找多少次词典?假设在翻译开始前,内存中没有任何单词。
输入:
多组数据,每组数据共2行。每行中两个数之间用一个空格隔开。
第一行为两个正整数M和N(0 第二行为N个非负整数,按照文章的顺序,每个数(大小不超过1000)代表一个英文单词。文章中两个单词是同一个单词,当且仅当它们对应的非负整数相同。 当M=N=0时输入数据结束。 输出: 每组数据占一行,分别包含一个整数,为软件需要查词典的次数。 输入样本: 3 7 1 2 1 5 4 4 1 2 10 8 824 11 78 11 78 11 78 8 264 0 0 输出样本: 5 6 3 自然数的计算 输入文件:natrual.in 输出文件:estdout.pc2 问题描述: 我们要求找出具有以下性质的数的个数(包含输入的自然数本身) 先输入一个自然数n(n<=1000),然后对此自然数进行如下操作: 1.不作任何操作 2.在他左边加上一个自然数,但该自然数不能超过原数最高位数字的一 半 3.加上数之后,继续按此规则进行处理,直到不能再加自然数为止 输入: 第一行一个数t,表示有t组数据输入 之后每组数据占一行,每行一个自然数n 输出: 每组数据占一行,一个数,表示满足条件的数的个数 输入样本: 1 6 输出样本: 6 4. 自动纠正拼写错误 输入文件:auto.in 输出文件:estdout.pc2 问题描述: 某些文件编辑器提供纠正英文单词拼写错误的功能。你们本次要解决的问题就是实现这样一个能够完成自动纠正拼写错误(ACM)功能的应用程序。 ACM能够纠正以下几类的单词拼写错误: 1.漏写或多写1个字母,例如单词“letter”被写成了“leter”,或者是“letter” 被写成了“lettter”。 2.写错了一个字母,例如“letter”被写成了“ketter”。 3.两个相邻的字母书写顺序弄错了,例如“letter”被写成了“lettre”。 ACM的纠错功能是基于一个已知单词集的字典来进行的。每当一个文档中含有字典中不存在的单词时,ACM就会试图用字典中与该单词最相似的单词替代它。ACM对单词是相似的有这样的定义:只要两个单词能够按照上面叙述的3类拼写错误规则中的任何一种进行相互转换,就认为这两个单词是相似的。如果在字典中没有发现相似的单词,就在原文本中保留这个未知的单词。 输入: 在输入文件的第1行里将给出字典中已知的单词数量:整数n,其中 0<=n<=1000。在紧接着的n行里包含有字典中的n个单词。在这n行后的第1行里将给出1个正整数q,其中0<=q<=1000,它表示需要查询单词的数量。在这之后的q行里包含有q个需要查询的单词。你可以假设在输入文件中每一个单词只能由26个小写字母('a'~'z')构成。 输出: 针对每一个需要查询的单词,输出一行字符串。要求:该字符串以需要查询的单词开始,并从下面3个黑体描述中选择一个合适的字串添加在后。 1.如果需要查询的单词在字典中就添加字串“is correct” 2.如果需要查询的单词不在字典中,则添加字串“is a misspelling of 3.如果前面两种情况都不满足,则添加字串“is unknown”。 输入样本: 10 this is a dictionary that we will use