历年真题2015年12月7日试题编号:201509-1试题名称:数列分段时间限制:1.0s内存限制:256.0MB问题描述:问题描述给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式输入的第一行包含一个整数n,表示数列中整数的个数。第二行包含n个整数a1,a2,…,an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式输出一个整数,表示给定的数列有多个段。样例输入88880121280样例输出5样例说明888是第一段,0是第二段,1212是第三段,倒数第二个整数8是第四段,最后一个0是第五段。评测用例规模与约定1≤n≤1000,0≤ai≤1000。提交确认:以下必须全部满足才能提交:我的程序没有使用package语句来定义包的信息。(如果定义了将无法评测)我的程序的主类名称是Main,主类的定义是publicclassMain。我的程序运行的入口是主类Main中的main函数,定义为publicstaticvoidmain(String[]args)。我的程序是从标准输入(System.in)中读入数据的(使用Scanner等类来处理System.in的输入视为满足条件),结果是输出到标准输出(System.out)的。我的程序中没有“请输入n”之类的输入输出提示,也没有输出中间的结果,所有的输出内容都与题设中的输出格式相对应。我的输出格式(包括换行和大小写等)与题设中输出格式的要求相符。试题编号:201509-2试题名称:日期计算时间限制:1.0s内存限制:256.0MB问题描述:问题描述给定一个年份y和一个整数d,问这一年的第d天是几月几日?注意闰年的2月有29天。满足下面条件之一的是闰年:1)年份是4的整数倍,而且不是100的整数倍;2)年份是400的整数倍。输入格式输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。输入的第二行包含一个整数d,d在1至365之间。输出格式输出两行,每行一个整数,分别表示答案的月份和日期。样例输入201580样例输出321样例输入200040样例输出29试题编号:201509-3试题名称:模板生成系统时间限制:1.0s内存限制:256.0MB问问题描述题描述:成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的。例如,对于展示用户信息的页面,当用户为Tom时,网页的源代码是而当用户为Jerry时,网页的源代码是这样的例子在包含动态内容的网站中还有很多。为了简化生成网页的工作,成成觉得他需要引入一套模板生成系统。模板是包含特殊标记的文本。成成用到的模板只包含一种特殊标记,格式为{{VAR}},其中VAR是一个变量。该标记在模板生成时会被变量VAR的值所替代。例如,如果变量name=Tom,则{{name}}会生成Tom。具体的规则如下:·变量名由大小写字母、数字和下划线(_)构成,且第一个字符不是数字,长度不超过16个字符。·变量名是大小写敏感的,Name和name是两个不同的变量。·变量的值是字符串。·如果标记中的变量没有定义,则生成空串,相当于把标记从模板中删除。·模板不递归生成。也就是说,如果变量的值中包含形如{{VAR}}的内容,不再做进一步的替换。输入格式输入的第一行包含两个整数m,n,分别表示模板的行数和模板生成时给出的变量个数。接下来m行,每行是一个字符串,表示模板。接下来n行,每行表示一个变量和它的值,中间用一个空格分隔。值是字符串,用双引号()括起来,内容可包含除双引号以外的任意可打印ASCII字符(ASCII码范围32,33,35-126)。输出格式输出包含若干行,表示模板生成的结果。样例输入112!DOCTYPEhtmlhtmlheadtitleUser{{name}}/title/headbodyh1{{name}}/h1pEmail:ahref=mailto:{{email}}{{email}}/a/ppAddress:{{address}}/p/body/htmlnameDavidBeckhamemaildavid@beckham.com样例输出!DOCTYPEhtmlhtmlheadtitleUserDavidBeckham/title/headbodyh1DavidBeckham/h1pEmail:ahref=mailto:david@beckham.comdavid@beckham.com/a/ppAddress:/p/body/html评测用例规模与约定0≤m≤1000≤n≤100输入的模板每行长度不超过80个字符(不包含换行符)。输入保证模板中所有以{{开始的子串都是合法的标记,开始是两个左大括号和一个空格,然后是变量名,结尾是一个空格和两个右大括号。输入中所有变量的值字符串长度不超过100个字符(不包括双引号)。保证输入的所有变量的名字各不相同。试题编号:201509-4试题名称:高速公路时间限制:1.0s内存限制:256.0MB问题描述:问题描述某国有n个城市,为了使得城市间的交通更便利,该国国王打算在城市之间修一些高速公路,由于经费限制,国王打算第一阶段先在部分城市之间修一些单向的高速公路。现在,大臣们帮国王拟了一个修高速公路的计划。看了计划后,国王发现,有些城市之间可以通过高速公路直接(不经过其他城市)或间接(经过一个或多个其他城市)到达,而有的却不能。如果城市A可以通过高速公路到达城市B,而且城市B也可以通过高速公路到达城市A,则这两个城市被称为便利城市对。国王想知道,在大臣们给他的计划中,有多少个便利城市对。输入格式输入的第一行包含两个整数n,m,分别表示城市和单向高速公路的数量。接下来m行,每行两个整数a,b,表示城市a有一条单向的高速公路连向城市b。输出格式输出一行,包含一个整数,表示便利城市对的数量。样例输入551223344235样例输出3样例说明城市间的连接如图所示。有3个便利城市对,它们分别是(2,3),(2,4),(3,4),请注意(2,3)和(3,2)看成同一个便利城市对。评测用例规模与约定前30%的评测用例满足1≤n≤100,1≤m≤1000;前60%的评测用例满足1≤n≤1000,1≤m≤10000;所有评测用例满足1≤n≤10000,1≤m≤100000。试题编号:201509-5试题名称:最佳文章时间限制:1.0s内存限制:256.0MB问题描述:问题描述小明最近在研究一门新的语言,叫做Q语言。Q语言单词和文章都可以用且仅用只含有小写英文字母的字符串表示,任何由这些字母组成的字符串也都是一篇合法的Q语言文章。在Q语言的所有单词中,小明选出了他认为最重要的n个。使用这些单词,小明可以评价一篇Q语言文章的“重要度”。文章“重要度”的定义为:在该文章中,所有重要的Q语言单词出现次数的总和。其中多次出现的单词,不论是否发生包含、重叠等情况,每次出现均计算在内。例如,假设n=2,小明选出的单词是gvagv和agva。在文章gvagvagvagv中,gvagv出现了3次,agva出现了2次,因此这篇文章的重要度为3+2=5。现在,小明想知道,一篇由m个字母组成的Q语言文章,重要度最高能达到多少。输入格式输入的第一行包含两个整数n,m,表示小明选出的单词个数和最终文章包含的字母个数。接下来n行,每行包含一个仅由英文小写字母构成的字符串,表示小明选出的这n个单词。输出格式输出一行一个整数,表示由m个字母组成的Q语言文章中,重要度最高的文章的重要度。样例输入315agvaagvagvagvagva样例输出11样例说明15个字母组成的重要度最高的文章为gvagvagvagvagva。在这篇文章中,agva出现4次,agvagva出现3次,gvagva出现4次,共计4+3+4=11次。评测用例规模与约定在评测时将使用10个评测用例对你的程序进行评测。设s为构成n个重要单词字母的总个数,例如在样例中,s=4+7+6=17;a为构成n个重要单词字母的种类数,例如在样例中,共有3中字母'a','g','v',因此a=3。评测用例1和2满足2≤n≤3,1500≤m≤2000,s=40;评测用例3和4满足m=20,2≤a≤3;评测用例5、6和7满足2000≤m≤100000;评测用例8满足n=2;所有的评测用例满足1≤s≤100,1≤m≤1015,每个单词至少包含1个字母,保证单词中仅出现英文小写字母,输入中不含多余字符,不会出现重复的单词。试题编号:201503-1试题名称:图像旋转时间限制:5.0s内存限制:256.0MB问题描述:问题描述旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式输入的第一行包含两个整数n,m,分别表示图像矩阵的行数和列数。接下来n行每行包含m个整数,表示输入的图像。输出格式输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。样例输入23153324样例输出345213评测用例规模与约定1≤n,m≤1,000,矩阵中的数都是不超过1000的非负整数。试题编号:201503-2试题名称:数字排序时间限制:1.0s内存限制:256.0MB问题描述:问题描述给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式输入的第一行包含一个整数n,表示给定数字的个数。第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。样例输入12523313425235样例输出3423531141评测用例规模与约定1≤n≤1000,给出的数都是不超过1000的非负整数。试题编号:201503-3试题名称:节日时间1.0s限制:内存限制:256.0MB问题描述:问题描述有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。现在,给你a,b,c和y1,y2(1850≤y1,y2≤2050),希望你输出从公元y1年到公元y2年间的每年的a月的第b个星期c的日期。提示:关于闰年的规则:年份是400的整数倍时是闰年,否则年份是4的倍数并且不是100的倍数时是闰年,其他年份都不是闰年。例如1900年就不是闰年,而2000年是闰年。为了方便你推算,已知1850年1月1日是星期二。输入格式输入包含恰好一行,有五个整数a,b,c,y1,y2。其中c=1,2,……,6,7分别表示星期一、二、……、六、日。输出格式对于y1和y2之间的每一个年份,包括y1和y2,按照年份从小到大的顺序输出一行。如果该年的a月第b个星期c确实存在,则以yyyy/mm/dd的格式输出,即输出四位数的年份,两位数的月份,两位数的日期,中间用斜杠“/”分隔,位数不足时前补零。如果该年的a月第b个星期c并不存在,则输出none(不包含双引号)。样例输入52720142015样例输出2014/05/112015/05/10评测用例规模与约定所有评测用例都满足:1≤a≤12,1≤b≤5,1≤c≤7,1850≤y1,y2≤2050。试题编号:201503-4试题名称:网络延时时间限制:1.0s内存限制:256.0MB问题描述:问题描述给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为1的交换机为根交换机,层级为1。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加1。所有的终端电脑都直接连接到交换机上。当信息在电脑、交换机之间传递时,每