2014NOIP模拟1104

时间:2022-07-18 21:59:25 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
WHYZ NOIP复赛资料 (本卷不得外泄,内部使用) NOIP模拟JT 20141104 1

NOIP模拟赛



Problem 卫星照片 切割树 计数 骑士 Program (File

Type: satel treecut DigitalCounter kings pas/c/cpp) Input File satel.in treecut.in DigitalCounter.in kings.in Output File satel.out treecut.out DigitalCounter.out kings.out Time Limit 1s 1s 1s 5s Memory Limit 128M 128M 128M 128M






WHYZ NOIP复赛资料 (本卷不得外泄,内部使用) NOIP模拟JT 20141104 2



卫星照片(satel)



农夫 John 正在研究他的农场的卫星照片.照片为一个R (1 <=R <= 75) C (1 <= C <= 75) 列的字符矩阵表示.如下图: .................. ..#####.......##.. ..#####......##... .................. #.......###.....#.

#.....#####.......

图上的一块相连通的 "#" 表示一群奶牛或一个房间, 两个子"#" 连通的意思是说左右或上下相连.而下面的两块则是分开的: .... .#.. ..#. ....

John现在根据卫星照片上的的这些"#"块的形状来判断哪些是牛群,哪些是房间.如果一个"#"块形状的边是水平或垂直的矩形,则是房间.其它的则认为都是牛群.在第一个图中,有三个房间 ( 2x1, 2x5, and 1x1)2群牛. 请根据输入文件中的数据,统计出房间数和牛群数. 数据中牛群不会包围另一个牛群或房间. 输入格式: satel.in

* 第一行,两个整数: R C.

* 2..R+1: i+1 行表示照片的第 i 行情况, C 字符组成. 输出格式:

* 第一行: 房间数. * 第二行: 牛群数.

输入样例 (file satel.in): 5 8

#####..# #####.## ......#. .###...# .###..##

输出样例 (file satel.out): 2 2




WHYZ NOIP复赛资料 (本卷不得外泄,内部使用) NOIP模拟JT 20141104 3

treecut

题目描述:

有一个

N个节点的无根树,各节点编号为1..N,现在要求你删除其中的一个点,使分割开的连通块中节点个数都不超过原来的一半多。

数据范围

1 <= N <= 10,000

输入文件 treecut.in

第一行:一个整数N

后面有N-1行:每行两个整数 X Y,表示一个边连接的两个节点号。

输出文件 treecut.out

输出所有可能选择的点。如果有多个节点,按编号从小到大输出,每个一行。 如果找不到这样的点,输出一行:"NONE".

样例

10 1 2 2 3 3 4 4 5 6 7 7 8 8 9 9 10 3 8

3

8

输入

样例说明:

删除3号或8 节点,则分枝 最多有5个节点



输出






WHYZ NOIP复赛资料 (本卷不得外泄,内部使用) NOIP模拟JT 20141104 4

DigitalCounter

我们有一个N位数字的电子表,当时间到达10^N-1时,下一秒就归0。下面我们给出数字0 9的模拟图。

+ +---+ +---+ + + +---+ | | | | | | + +---+ +---+ +---+ +---+ | | | | | + +---+ +---+ + +---+

+---+ +---+ +---+ +---+ +---+ | | | | | | | | +---+ + +---+ +---+ + + | | | | | | | | +---+ + +---+ + +---+

对于每个数字,相邻两个+之间会有一根电子管,当显示该数字时,这些电子管就会发亮。如上图所示:数字09它们的电子管数量分别是:62 5 5 4 5 6 3 7 5

设现在的时刻是X, 那么可以算出该时有多少根电子管是亮的。比如:现在时刻是:99,那么共有5 + 5= 10根电子管是亮的。假如从现在时刻开始,再过Y后,时刻显示为Z, 我们的问题是:求最小的Y,使得时刻Z发亮的电子管数量与时刻X发亮的电子管数量相等。如:现在X = 99 ,那么再过Y = 5 秒后, 刻变成了Z = 04, 而时刻Z发亮的电子管数量 = 6 + 4 = 10。于是Y = 5就是你要求的数。 输入:

第一行:一个整数N,表示电子表是10^N进制的。1 <= N <= 15 对于30%数据,N < 7.

第二行:一个整数X, 表示现在的时刻,可能有前导0XN位数字。 输出:

一行:最小的整数Y, 表示从现在X时刻开始,再过Y秒,得到的时刻Z发亮的电子管数量与时刻X发亮的电子管数量相等。 样例1

输入:DigitalCounter.in 3 007

输出:DigitalCounter.out

11(因为数字0076+6+3 =15根电子管发亮,所以过11秒后,电子表显示数018时,才能满足发亮的电子管数量相等。018时刻发亮的电子管数量 = 6 + 2 + 7 = 15




WHYZ NOIP复赛资料 (本卷不得外泄,内部使用) NOIP模拟JT 20141104 5



kings (骑士 5)

题目描述:

用字符矩阵来表示一个8x8的棋盘,'.'表示是空格,'P'表示人质,'K'表示骑士。 每一步,骑士可以移动到他周围的8个方格中的任意一格。如果你移动到的格子中有人质(即'P'),你将俘获他。但不能移到出棋盘或当前是'K'的格子中。 请问最少要移动多少步骑士才能俘获所有的人质。

输入文件 kings.in

第一行一个整数N(<=5),表示有多少个棋盘。即多组测试数据。

每一组有8行,每行8个字符。字符只有'.',大写'P',大写'K'三种字符。'P''K'的个数范围都在[1,10]

输出文件 kings.out

N行,每行只一个整数,相应棋盘俘获全部人质所需要的最少步数。

样例

2

P......P ........ ........ ........ ...KK... ........ ........ P......P .....P.P ..K....P ....K... ..PP...P ...K..KK ........ K....... KP.K.... 20 9

输入

1

.PPPPKP. ........ ........ ........ ........ ........ ........ ........

输出





6


本文来源:https://www.wddqw.com/doc/48ce6107ee630b1c59eef8c75fbfc77da2699701.html