QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100 Hackable ✓

#14098. ABC 遗产

Statistics

给你一个长度为 $2n$ 的字符串 $S$,由字符 ABC 组成。判断 $S$ 是否可以分割成 $n$ 个互不相交的子序列,使得每个子序列都构成字符串 “AB”、“AC” 或 “BC” 之一。如果可以,求出这样的一种分割方案。

输入格式

第一行包含一个整数 $n$($1 \le n \le 10^5$)。

第二行包含一个长度为 $2n$ 的字符串 $S$,由字符 ABC 组成。

输出格式

如果无法进行分割,输出 “NO”(不含引号)。

如果可以分割,第一行输出 “YES”(不含引号),接下来输出 $n$ 行,每行包含两个整数,描述第 $i$ 个子序列的两个下标 $l_i$ 和 $r_i$($1 \le l_i < r_i \le 2n$)。

样例

输入样例 1

3
BABBCC

输出样例 1

YES
3 5
1 6
2 4

输入样例 2

2
CBAC

输出样例 2

NO

输入样例 3

1
AA

输出样例 3

NO

输入样例 4

3
ABCACB

输出样例 4

YES
2 3
4 6
1 5

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.