2014年衢州市第二十七届青少年信息学竞赛复赛试卷_普及组

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10
10




全文比较(过滤行末空格及文末回车)
传统
传统
传统
传统
二.提交源程序文件名
对于 pascal 语言
string.pas
对于 c 语言
string.c
对于 c++ 语言
string.cpp
ball.pas ball.c ball.cpp
folding.pas folding.c folding.cpp
【样例输出 1】 4
【样例输入 2】 10 6 1233211111
【样例输出 2】 NO 456
【数据规模】 对于 30%的数据:1≤M,N≤1,000; 对于 60%的数据:1≤M,N≤100,000; 对于 100%的数据:1≤M,N≤200,000; 1≤A[i]≤m;
第4页共4页
5 1 3 -2
普及组
数字串
(number.pas/c/cpp) 【题目描述】
给你一个长度为 n 的数字串,数字串里会包含 1~m 这些数字。如果连续的一段数字子串包含了 1~m 这些数字,则称这个数字子串为 NUM 串。你的任务是求出长度最短的 NUM 串,为了降低难度,你只需要 输出这个长度即可。 【输入格式】 第一行给定 n 和 m,中间用 1 个空格隔开; 第二行 n 个整数,表示数字串,每 2 个数字之间用 1 个空格隔开;第 i 个整数为 A[i]; 【输出格式】 如果存在 NUM 串则输出最短 NUM 串长度, 否则第一行输出“NO”(不包含引号),第二行按照由小到大输出构成 NUM 串还至少需要哪些数字,每 2 个整数之间用 1 个空格隔开。 【样例输入 1】 73 2113332
fpc folding.pas gcc -o folding folding.c -lm g++ -o folding folding.cpp -lm
fpc number.pas gcc -o number number.c -lm g++ -o number number.cpp -lm
四.运行内存限制 内存上限
【输入格式】 输入文件仅有一行为一个长度为 L 的压缩过的字符串。(并且字母都是大写英文字母),保证字符串中间 的数字在[2,100],即(2≤数字≤100); 【输出格式】 输出原字符串(字符串可能会很长,每 40 个字符换行)。 【样例输入】 3A4B7D
【样例输出】 AAABBBBDDDDDDD
第1页共4页
衢州市第二十七届青少年信息学竞赛复赛试卷(2014)
普及组
字符串解压缩
(string.pas/c/cpp) 【题目描述】
观察这个字符串‘AAAABCCCCCDDDD’,它均由大写英文字母组成,其长度为 14,我们可以把这个字 符串压缩成‘4AB5C4D’,压缩后长度为 7,压缩规则是:假设某连续出现的同一字母的数量为 n,则其 在压缩字符串中为‘n 字母’,若 n=1 则 n 必须省略。因为倘若‘1’不省略,则字符串‘AABCDE’会被 压缩成‘2A1B1C1D1E’,长度反而变大了。 任务:编一程序,根据被压缩的字符串求出原来的字符串。
时候才会损失能量,当能量<=0 了小球就停止运动了; 2. 小球弹射遵循反射定律,小球碰角会原路返回(请参照
右边图画)。 请聪明的你告诉笨笨弹性小球在这个房间中的运动轨迹。
【输入格式】 第一行三个整数 M、N、E,表示房间的行数和列数、小球的初始能量。 第二行八个整数,分别是小球撞到上(北)、右(东)、下(南)、左(西)、左上(西北)、右上(东
【数据规模】 对于 30%的数据:2≤L≤20; 对于 60%的数据:2≤L≤250; 对于 100%的数据:2≤L≤1,000;
弹性小球
(ball.pas/c/cpp)
【题目描述】 笨笨有一个弹性小球,小球有一个能量值 E。 笨笨走进一个 M*N 房间,房间有 M 行 N 列。一开始在左上角,
以向右下角 45°的方向弹射小球。小球有两个性质: 1. 小球在运动过程中不会损失能量,只有在碰壁或碰角的
number.pas number.c number.cpp
三.编译命令(不包含任何优化开关)
对于 pascal 语言
fpc string.pas
对于 c 语言
gcc -o string string.c -lm
对于 c++ 语言
g++ -o string string.cpp -lm
fpc ball.pas gcc -o ball ball.c -lm g++ -o ball ball.cpp -lm
普及组
折型最大
(folding.pas/c/cpp) 【题目描述】
折型在日常生活中随处可见,比如闪电符号“”,显示器的四个角等等;折型大致可以分为四种 类型(“┌”,“┐”,“└”,“┘”)。笨笨只对“┘”这种折型特别感兴趣(萝卜青菜,各有所爱),笨笨 想在一个二维矩阵中求“┘”这种数字加和最大的折型,具体规定如下描述: 对于一个 N 行*M 列的矩阵,一个折型区域必须满足:
128M
wk.baidu.com
128M
128M
128M
注意事项: 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。 3、统一评测时采用的机器配置为:CPU P4 3.0GHz,内存 2G,上述时限以此配置为准。 4、特别提醒:评测在 Windows 下进行,评测软件为 cena8.0。
【样例输入 1】 225 23461139
【样例输入 2】 356 11111111
【样例输出 1】 --
|\ | | \|
--
【样例输出 2】 ----|\/ /\| |/\/ /| |\/\/ | -----
【数据规模】 对于 30%的数据:1≤M,N≤10; 0<E≤30; 对于 60%的数据:1≤M,N≤60; 0<E≤2,000; 对于 100%的数据:1≤M,N≤100; 0<E≤1,000,000,000;
折型最大
数字串
string
ball
folding
number
string
ball
folding
number
string.in
ball.in
folding.in
number.in
string.out 1秒
ball.out 1秒
folding.out 1秒
number.out 1秒
10
10
10
10
10
10
1、它的形状为“┘”(不能是“└”,“┌”,或“┐”); 2、它的宽度为 1; 3、它的横向长度和纵向长度都必须大于 1 且连续,不能等于 1(即不能退化为一条线或一个点); 现给出这个二维矩阵,求其中数字和最大的这种折型区域。 【输入格式】 第一行为 N,M,中间用一个空格隔开,N 表示矩阵的行数,M 表示矩阵的列数; 接下来是 N 行,每行 M 个整数,每 2 个整数之间用 1 个空格隔开,每个整数 A[i,j]在[-100,100]; 【输出格式】 一行一个整数,即满足题目要求的折型区域的最大数字和。 【样例输入】 44 -2 5 0 3 -1 1 0 -3 3 -2 -4 -6 -3 5 -5 5
衢州市第二十七届青少年信息学竞赛复赛试卷(2014)
普及组
衢州市第二十七届青少年信息学竞赛复赛试卷
普及组
(请选手务必仔细阅读本页内容)
一.题目概况 中文题目名称
英文题目与子目录名 可执行文件名 输入文件名 输出文件名 每个测试点时限 测试点数目 每个测试点分值 附加样例文件 结果比较方式 题目类型
字符串解压缩 弹性小球
北)、右下(东南)、左下(西南)损失的能量。
第2页共4页
衢州市第二十七届青少年信息学竞赛复赛试卷(2014)
【输出格式】 输出一张小球运动的轨迹图(详见样例)。轨迹图要求如下: 1. 整个(M+2)*(N+2)的图,外面要有边框,上下各 N 个'-',左右各 M 个'|'; 其中 map[1,1]=map[1,N+2]=map[M+2,1]=map[M+2,N+2]为 1 个空格; 2. 小球运动轨迹用'/'和'\'表示,其他部分用' '(空格)表示。
第3页共4页
衢州市第二十七届青少年信息学竞赛复赛试卷(2014)
【样例输出】 7
【样例解释】如右图所示,符合要求的折型区域数字和最大 【数据规模】
对于 30%的数据:2≤M,N≤100; 对于 60%的数据:2≤M,N≤500; 对于 100%的数据:2≤M,N≤1,000; -100≤A[i,j]≤100;
相关文档
最新文档