QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 512 MB Puntuación total: 100

#1335. AiGo

Estadísticas

最近,围棋(一种传统的棋盘游戏)AI 的研究非常热门。你的朋友 Hikaru 计划开发一款名为 Sai 的超强围棋 AI,并打算将来将其推广给 F 公司或 G 公司。作为第一步,Hikaru 决定为 1D-Go(一维围棋,原版围棋的简化版本)开发一个 AI。

在原版围棋和 1D-Go 中,吃子都是一项重要的策略。Hikaru 请你实现其中一个吃子功能。

在 1D-Go 中,棋盘由排成一行的 $L$ 个格子组成。1D-Go 的状态由一个长度为 $L$ 的字符串 $S$ 描述。$S$ 的第 $i$ 个字符描述了第 $i$ 个格子的状态:

  • 当 $S$ 的第 $i$ 个字符为 ‘B’ 时,第 $i$ 个格子包含一颗黑子。
  • 当 $S$ 的第 $i$ 个字符为 ‘W’ 时,第 $i$ 个格子包含一颗白子。
  • 当 $S$ 的第 $i$ 个字符为 ‘.’ 时,第 $i$ 个格子为空。

相同颜色的最大连续棋子序列称为“气”(chain)。当一个气被对方颜色的棋子包围时,该气将被吃掉。

更准确地说,如果第 $i$ 个格子和第 $j$ 个格子($1 < i + 1 < j \le L$)包含白子,且索引为 $k$($i < k < j$)的每个格子都包含黑子,那么这些黑子将被吃掉;反之亦然。

请注意,1D-Go 的某些规则与原版围棋有很大不同。从原版围棋中获得的一些直觉可能会导致错误。

给定一个 1D-Go 的状态,下一手将由执白棋的玩家落子。玩家可以在其中一个空位放置一颗白子。但是,玩家不能制造出被黑子包围的白子气,即使这样做同时能吃掉某些黑子气也不行。题目保证给定的状态下至少有一个格子可以放置白子,且当前不存在已经被包围的气。

编写一个程序,计算执白棋的玩家在下一手落子后,最多能吃掉多少颗黑子。

输入格式

输入的第一行包含一个整数 $L$($1 \le L \le 100$),表示棋盘的长度;$S$($|S| = L$)是一个描述 1D-Go 状态的字符串。给定的状态保证至少有一个格子可以放置白子,且当前不存在已经被包围的气。

输出格式

输出下一手落子后最多能吃掉的黑子数量。

样例

样例输入 1

5 .WB..

样例输出 1

1

样例输入 2

5 .WBB.

样例输出 2

2

样例输入 3

6 .WB.B.

样例输出 3

0

样例输入 4

6 .WB.WB

样例输出 4

0

说明

在第 3 个和第 4 个测试用例中,玩家不能在第 4 个格子放置白子,因为这样形成的白子气会被黑子包围。此规则与原版围棋不同。

在第 5 个测试用例中(注:指样例 4),即使玩家在第 4 个格子放置白子,也无法吃掉任何黑子。玩家不能通过棋盘边缘和白子来包围并吃掉黑子。此规则也与原版围棋不同。

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.