#P2044. Weather Forecast
Weather Forecast
描述
你是风之神。
通过移动一朵巨大的云,你可以决定天气:云下总是下雨,而其他地方总是阳光明媚。
但你是一位仁慈的神:你的目标是让乡村的每个田地都得到足够的雨水,同时让市场和节日得到阳光。人类用他们贫乏的词汇将这描述为“天气预报”。
你负责一个小国,名为 Paccimc。这个国家由 4×4 的正方形区域组成,用数字表示。
_
你的云的大小是 2×2,不能越过国家的边界。
你得到了每个区域在一段时间内的市场和节日的时间表。
在该时间段的第一天,中央区域(6、7、10、11)正在下雨,与时间表无关。
在随后的每一天,你可以将云向四个主要方向(北、西、南、东)之一移动 1 格或 2 格,或者保持在相同的位置。不允许对角移动。所有移动都在一天的开始发生。
你不能让一个区域连续一周(即 7 天)没有雨水(也就是说,你最多允许连续 6 天没有雨)。你不需要关心时间段之外的日子是否有雨:也就是说,你可以假设在时间段开始的前一天,整个国家都在下雨,而在时间段结束后的第二天,整个国家也在下雨。
输入
输入是一系列数据集,后面跟着一行只包含零的终止行。
一个数据集给出时间段内的天数 (不超过 365),后面跟着 行,给出市场和节日的时间表。第 行给出第 天的时间表。它由 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年日本,会津