QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 512 MB Total points: 100

#12347. Quoridor

Statistics

“Quoridor” 是一款供两名或四名玩家参与的策略棋盘游戏。它在由正方形格子组成的方形棋盘上进行。每位玩家拥有一个棋子和一组墙,每堵墙的长度为两个格子。棋子可以站在正方形格子内,墙可以放置在格子之间。游戏的目标是在所有其他玩家之前将自己的棋子移动到棋盘对面。棋子只能移动到相邻的格子,且不能穿过墙。如果棋子移动到的格子已经被另一名玩家的棋子占据,则可以通过跳过该棋子移动到更远处的相邻格子。墙不能重叠或交叉,但可以接触。放置墙时必须确保所有玩家始终有路可走:不能完全阻挡玩家完成游戏。

现在有三名玩家进行一种新的三人游戏版本。新游戏中的棋盘是六边形的,由六边形格子组成。玩家棋子从三个互不相邻的棋盘角出发。每位玩家的目标是到达对面的角。这里的墙长度也为两个格子边,但由于格子形状的改变,墙现在是弯曲的。墙的任何部分都不能沿着棋盘边缘放置。以下是游戏进行的一个示例:

大写字母为玩家棋子,小写字母为各自的目标

玩家 A 现在需要移动。他们暂时不想移动自己的棋子,因此正在考虑所有可以在棋盘上放置墙的方式。请问有多少种这样的放置方式?

输入格式

输入的第一行包含一个整数 $n$:六边形棋盘一侧的格子数量,$2 \le n \le 250$。 其余输入行以 ASCII 艺术的形式描绘了当前的游戏情况。棋盘描述的行数等于每行的字符数,为 $4n - 1$。格子边界用字符 “\”、“/” 和 “ ” 绘制。墙用字符 “@” 表示,位于格子边界处。大写字母 “A”、“B” 和 “C” 表示玩家棋子。小写字母 “a”、“b” 和 “c” 分别是这些玩家的目标。六个字母中的每一个在棋盘上恰好出现一次。小写字母根据游戏规则放置。

棋盘描述中的其余字符均为空格。注意,大多数行(但并非全部)以空格字符开头和结尾,且每行至少包含一个非空格字符。

输出格式

输出一行,包含一个整数:玩家 A 在棋盘上放置墙的可能方式数量。

样例

输入 1

2
 _
_/a\_
/B\_/C\
\_/ \_/
/c\_/b\
\_/A\_/
\_/

输出 1

18

输入 2

2
 _
_/a\_
/B@@/C\
\@/ \_/
/c@_@b\
\_/A@_/
\_/

输出 2

0

说明

在第一个样例中,墙可以放置在与六个边界格子相邻的任意两个可用位置,以及与中心格子相邻的六个可用位置,总计 $2 \cdot 6 + 6 \cdot 1 = 18$ 种放置方式。

第二个样例展示了一种情况,即无法在任何地方放置墙而不阻挡某些玩家获胜。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.