题目名称 2515. [POJ 2044]天气预报
输入输出 weather_forecast.in/out
难度等级 ★★★
时间限制 3000 ms (3 s)
内存限制 256 MiB
测试数据 1
题目来源 Gravatarsyzhaoss 于2016-10-24加入
开放分组 全部用户
提交状态
分类标签
记忆化搜索 剪枝 搜索法
分享题解
通过:1, 提交:1, 通过率:100%
Gravatarsyzhaoss 100 0.112 s 0.00 MiB C++
关于 天气预报 的近10条评论(全部评论)

2515. [POJ 2044]天气预报

★★★   输入文件:weather_forecast.in   输出文件:weather_forecast.out   简单对比
时间限制:3 s   内存限制:256 MiB

【题目描述】

你是一个可以控制风的神仙。

通过把云吹到不同的位置,你可以控制降雨。

云下地区会降雨,没有云的地方阳光灿烂。

你是一个仁慈的神,希望土地在平时可以有足够的雨水,在赶集和过节能够充满阳光。

你负责掌控一个村子的天气状况。

这个村子呈 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

【数据规模与约定】

$1\leq N\leq 365$