#P2044. Weather Forecast

Weather Forecast

描述

你是风之神。
通过移动一朵巨大的云,你可以决定天气:云下总是下雨,而其他地方总是阳光明媚。
但你是一位仁慈的神:你的目标是让乡村的每个田地都得到足够的雨水,同时让市场和节日得到阳光。人类用他们贫乏的词汇将这描述为“天气预报”。

你负责一个小国,名为 Paccimc。这个国家由 4×4 的正方形区域组成,用数字表示。 _

你的云的大小是 2×2,不能越过国家的边界。

你得到了每个区域在一段时间内的市场和节日的时间表。

在该时间段的第一天,中央区域(6、7、10、11)正在下雨,与时间表无关。

在随后的每一天,你可以将云向四个主要方向(北、西、南、东)之一移动 1 格或 2 格,或者保持在相同的位置。不允许对角移动。所有移动都在一天的开始发生。

你不能让一个区域连续一周(即 7 天)没有雨水(也就是说,你最多允许连续 6 天没有雨)。你不需要关心时间段之外的日子是否有雨:也就是说,你可以假设在时间段开始的前一天,整个国家都在下雨,而在时间段结束后的第二天,整个国家也在下雨。

输入

输入是一系列数据集,后面跟着一行只包含零的终止行。

一个数据集给出时间段内的天数 NN(不超过 365),后面跟着 NN 行,给出市场和节日的时间表。第 ii 行给出第 ii 天的时间表。它由 16 个数字组成,每个数字为 0 或 1,0 表示普通的一天,1 表示市场或节日日。数字之间用一个或多个空格分隔。

输出

对于每个数据集,输出一行,包含一个数字,如果可以满足所有人,输出 1;如果没有办法做到,输出 0。

输入数据 1

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

输出数据 1

0  
1  
0  
1

来源

2003年日本,会津