#3788. 天气预报
天气预报
题目描述
你是一个可以控制风的神仙。
通过把云吹到不同的位置,你可以控制降雨。
云下地区会降雨,没有云的地方阳光灿烂。
你是一个仁慈的神,希望土地在平时可以有足够的雨水,在赶集和过节能够充满阳光。
你负责掌控一个村子的天气状况。
这个村子呈 4×4 的网格状分布,村子内的每个区域被编号如下图所示:
你拥有一片 2×2 大小的云,这片云不能到村子以外的地方。
你将获得一段时间内村子每个区域的赶集和过节时间表。
在这段时间的第一天,中部地区(6−7−10−11)将会下雨。
在接下来的每一天中,您可以在四个基本方向(东南西北)之中选取一个方向,将云移动 1 或 2 个方格,或将其保持在相同位置。
不允许对角线移动,所有动作都在一天开始时发生。
任何地区都不能连续七天或以上时间都不降雨。
这段时间以外的日子的下雨状况你无需做任何考虑。
输入格式
输入包含多组测试用例。
对于每组测试用例,第一行包含一个整数 N,表示这段时间的具体天数。
接下里 N 行,描绘了接下来 N 天的赶集和过节时间表,第 i 行表示第 i 天的时间表。
这 N 行里,每行包含 16 个数字(0 或 1),0 表示正常的一天,1 表示赶集和过节的一天,第 i 个数字表示第 i 个区域的具体情况。
每行数字之间用空格隔开。
当输入测试用例 N=0 时,表示输入终止,且该用例无需处理。
输出格式
每个测试用例输出一个整数 0 或 1,如果可以保证整个时间段内,该下雨的地方下雨,不该下的地方不下,则输出 1。
如果不能保证则输出 0,每个结果占一行。
输入样例:
1
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1
0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
7
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0
0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
15
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0
0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0
0
0
1
0
1
数据范围
来源
- ICPC Japan 2003
- POJ2044
- 算法竞赛进阶指南