CCF全国信息学奥林匹克联赛(NOIP2016)模拟赛 联系客服

发布时间 : 星期二 文章CCF全国信息学奥林匹克联赛(NOIP2016)模拟赛更新完毕开始阅读6e6f7a290812a21614791711cc7931b765ce7b73

全国信息学奥林匹克联赛(NOIP2016)复赛 普及组

CCF全国信息学奥林匹克联赛(NOIP2016)模拟赛 普及组 (请选手务必阅读本页内容) 一. 题目概况 中文题目名称 英文题目与子目录名 可执行文件名 输入文件名 输出文件名 每个测试点时限 测试点数目 每个测试点分值 附加样例文件 结果比较方式 题目类型 运行内存上限 A+B Problem plus plus.exe plus.in plus.out 3s 10 10 有 传统 64M 十字炸弹 bomb bomb.exe bomb.in bomb.out 1s 20 5 有 正方形 square square.exe square.in square.out 1s 20 5 有 传统 128M 全文比较(过滤行末空格及文末回车) 传统 128M 二. 提交源程序文件名 对于C++选手 对于C选手 对于Pascal选手 plus.cpp plus.c plus.pas bomb.cpp bomb.c bomb.pas square.cpp square.c square.pas 三. 注意事项: 1.文件名(程序名和输入输出文件名)必须是英文小写。 2.C/C++选手主程序类型必须是int,返回值必须为0。 3.对于C/C++选手本次考试不开任何优化开关。 4.考试前请膜拜yts和tyc大神,以获得人品加成buff。

第 1 页 共 5 页

全国信息学奥林匹克联赛(NOIP2016)复赛 普及组

1. A+B Problem

(plus.cpp/c/pas)

【题目描述】

给定两个十六进制的数,求这两个数的和(用十六进制表示)。 【输入格式】

两个十六进制数a和b,用一个空格隔开。十六进制数由包括0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共15个字符组成按照“逢十六进一”的形式进位。 【输出格式】

一个十六进制数,表示两个数之和a+b。 【输入输出样例】

input1 9 1 input2 F E input3 ABCDEF 1

【数据规模与约定】

output1 A output2 1D output3 ABCDF0

对于20%的数据,整个运算过程中不出现除十进制数以外的数,且运算过程无进位; 对于50%的数据,1<=length(a)<=100,1<=length(b)<=100; 对于100%的数据,1<=length(a)<=10^4,1<=length(b)<=10^4。

第 2 页 共 5 页

全国信息学奥林匹克联赛(NOIP2016)复赛 普及组

2. 十字炸弹

(bomb.cpp/c/pas)

【题目描述】

你是QDEZ神秘组织中的一名特工。在一次行动任务中,你需要摧毁一间房间中的一些重要目标。

你获得了这个房间的地图:这是一个n*m大小的矩形房间,里面各处分散分布着许多目标。你的攻击武器是一个特殊的十字炸弹——这个炸弹可以在引爆时摧毁在炸弹所在行以及在炸弹所在列的所有目标。例如你在(3,4)点安置了这个十字炸弹,引爆时它就可以同时炸毁位于(3,5)、(3,7)、(5,4)等这些点的目标,却对位于(4,5)这样的点的目标毫无作用。

为了行动更加迅捷,不被敌人发现,组织只给了你一个如上所述的十字炸弹。这个炸弹可以被安放在空地上或是目标上。而你,要用这一个十字炸弹,摧毁掉整个房间里所有的目标。在哪个位置安放才能炸毁所有的目标呢?这就要你来决定了。 【输入格式】

第一行是两个正整数n和m,表示该房间的长和宽。

从第二行开始一直到第n+1行,每行m个字符,表示一个矩阵,这个矩阵即为房间的地图。每一个字符有两种可能——“#”表示该位置是需要摧毁的目标,“.”表示此位置是空地。 【输出格式】

第一行是一个字符串,如果存在某个位置安放炸弹后可以摧毁所有目标则输出“YES”(全部为大写,不带引号),否则输出“NO”。

如果存在某个位置可以摧毁所有目标,在第二行输出两个正整数x和y,表示可以在(x,y)点放置炸弹。如果有多个位置都可以,输出字典序最小的一组(输出x最小的一组,如果有多组解的x相等,则输出其中y最小的)。

【输入输出样例】

input1 3 4 .#.. .... .#..

input2 3 3 ..# .#. #..

output1 YES 1 2

output2 NO

第 3 页 共 5 页

全国信息学奥林匹克联赛(NOIP2016)复赛 普及组

input3 6 5 ..#.. ..#.. ##### ..#.. ..#.. ..#..

output3 YES 3 3

【数据规模与约定】

对于5%的数据,整个房间没有一个目标;

对于25%的数据,不存在安放炸弹后可以摧毁所有目标的位置; 对于70%的数据,n<=50,m<=50;

对于100%的数据,1<=n<=1000,1<=m<=1000。

第 4 页 共 5 页

全国信息学奥林匹克联赛(NOIP2016)复赛 普及组

3. 正方形

(square.cpp/c/pas)

【题目描述】

为了美化教室,你需要一张正方形的彩纸来做装饰。碰巧你有一张很大的长方形彩纸,但是它的某些地方被墨水污染了,被墨水污染的地方当然不能被用作装饰。你希望得到的正方形尽可能的大,但是该正方形内哪怕是边缘上都不能有墨水。那你最大能得到多大的彩纸呢? 【输入格式】

第一行是两个正整数n和m,表示你原有的那张彩纸的长和宽。

从第二行开始一直到第n+1行,每行m个字符,表示一个矩阵,矩阵的每个字符有两种情况:“.”空格表示该处未被污染,可以用作装饰;“#”表示该处被墨水污染,不能用作装饰。 【输出格式】

一个整数,表示最大可以得到的正方形边长。

【输入输出样例】

input1 1 2 .#

input2 3 3 ..# ... #..

output1 1

output2 2

output3 3

input3 6 5 .##.. ..##. #...# ....# #.... ..##.

【数据规模与约定】

对于30%的数据,n<=50,m<=50; 对于70%的数据,n<=300,m<=300;

对于100%的数据,1<=n<=3000,1<=m<=3000。

第 5 页 共 5 页