QOJ.ac

QOJ

実行時間制限: 5 s メモリ制限: 2048 MB 満点: 100

#8065. 重击!

統計

游戏 Thwack 在一个一维网格上进行:即游戏棋盘。每个网格单元包含一颗黑子、一颗白子或为空。

两名玩家轮流进行操作。一次操作包括选择两颗相邻且颜色不同的棋子,然后选择其中一颗棋子去“吃掉”另一颗。也就是说,一颗棋子通过移动到另一颗棋子的位置将其消除。当轮到某位玩家操作时,若没有可行的移动(即不存在任何一对相邻且颜色不同的棋子),则该玩家输掉比赛。

Thwack 的有趣之处在于,游戏棋盘没有默认的“初始设置”。任何游戏都可以通过简单地在网格上随机放置棋子来创建。

给定游戏的初始配置,你的任务是列出所有能让先手玩家获胜的开局移动,假设双方玩家均采取最优策略。

输入格式

第一行包含一个整数 $N$ ($1 \le N \le 100$),表示游戏棋盘上的单元格数量。

第二行包含一个长度为 $N$ 的字符串,仅由字符 BW. 组成,表示游戏开始时棋盘上单元格的初始内容。

输出格式

第一行输出先手玩家获胜的可能开局移动数量 $W$。随后输出 $W$ 行,第 $i$ 行包含两个整数 $A_i, D_i$ ($1 \le A_i, D_i \le N, |A_i - D_i| = 1$),表示将位置 $A_i$ 处的棋子移动去吃掉位置 $D_i$ 处的棋子是先手玩家获胜的一种可能开局。这些行应按字典序排列,即对于 $1 \le i < N$,满足 a) $A_i < A_{i+1}$ 或 b) $A_i = A_{i+1}$ 且 $D_i < D_{i+1}$。

样例

输入 1

4
BWBW

输出 1

2
2 3
3 2

输入 2

11
.BW.WB..W..

输出 2

0

输入 3

8
BBBBW.BW

输出 3

1
5 4

输入 4

9
BBBBBW.BW

输出 4

0

输入 5

12
WBBWBWWBBWBW

输出 5

5
2 1
4 5
5 4
10 11
11 10

输入 6

11
WBBWWWBBWBW

输出 6

5
1 2
4 3
9 10
10 9
11 10

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.