#P1772. New Go Game

    ID: 773 远端评测题 1000ms 30MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>动态规划搜索BFSAsia Guangzhou 2003

New Go Game

本题没有可用的提交语言。

描述

围棋的历史可以追溯到约3000年前,其规则在漫长的岁月中基本保持不变。这项游戏可能起源于中国或喜马拉雅地区。传说中,西藏的未来曾在围棋棋盘上决定——当时佛教统治者拒绝参战,而是通过挑战侵略者下围棋来避免流血冲突。

与国际象棋一样,围棋是一种技巧性游戏,但二者在许多方面有所不同。围棋规则非常简单,和国际象棋一样考验玩家的分析能力,但围棋对直觉的要求更高。

围棋是一种领土游戏。棋盘由19×19的网格线构成,可视为供双方玩家争夺的一块土地。一方使用黑色棋子(称为“石头”),另一方使用白色棋子。游戏开始时棋盘为空,玩家轮流在空白交叉点放置一枚棋子,黑方先行。棋子放置在网格线的交叉点上,而非方格内。

现在,忘记传统围棋的规则。我将告诉你如何仅用黑色棋子进行判断:首先在空棋盘上放置一些黑棋,你需要判断有多少个交叉点被黑棋“包围”。什么?你无法判断哪些交叉点是被包围的?好的,以下是具体定义:

  1. 被包围的交叉点必须是未放置棋子的空点;
  2. 边界上的交叉点不能是被包围的点;
  3. 该点的上下左右四个相邻交叉点必须全部是被包围的点或被黑棋占据。
    如下图所示,存在3个被包围的交叉点。

这看似简单,但请注意:你无法直接得知黑棋的位置,而是需要通过四组数字来推断棋盘布局:

  • 第一组:包含N个数字,第k个数字表示第k行(从上到下,1≤k≤N)的黑棋数量;
  • 第二组:包含N个数字,第k个数字表示第k列(从左到右,1≤k≤N)的黑棋数量;
  • 第三组:包含2N-1个数字,表示每条正斜线(从左上到右下,按从左到右、从上到下的顺序)上的黑棋数量;
  • 第四组:包含2N-1个数字,表示每条反斜线(从右上到左下,按从左到右、从下到上的顺序)上的黑棋数量。
    例如,一个5×5的棋盘布局可通过以下四组数字描述:
  • 第一组:1 3 2 3 1
  • 第二组:0 2 2 2 4
  • 第三组:0 0 1 3 0 2 2 1 1
  • 第四组:0 0 0 2 3 2 1 2 0

你的任务是:根据这四组数字重建唯一的棋盘布局,并计算其中被包围的交叉点数量。

输入

输入包含多个测试用例。每个用例的第一行是整数N(N≤15),表示棋盘大小。随后四行依次为四组数字。输入以0结束。

输出

对每个测试用例,输出一个整数,表示被包围的交叉点数量,每行一个结果,不允许多余空格。

输入数据 1

5  
1 3 2 3 1  
0 2 2 2 4  
0 0 1 3 0 2 2 1 1  
0 0 0 2 3 2 1 2 0  
0  

输出数据 1

3  

来源
Asia Guangzhou 2003