QOJ.ac

QOJ

Limite de temps : 2.0 s Limite de mémoire : 32 MB Points totaux : 100 Hackable ✓

#17961. 弹珠

Statistiques

孩提时代,Jeyeon 有 $N$ 个编号为 $1$ 到 $N$ 的弹珠和无数个袋子。每个弹珠要么是红色的,要么是蓝色的。起初,每个弹珠都独自装在自己的袋子里。

Jeyeon 记录了一本日记,写下了他对弹珠做出的每一次改变。日记包含 $M$ 条记录。记录共有三种类型:

  • 1 i j:合并包含弹珠 $i$ 的袋子和包含弹珠 $j$ 的袋子。($1 \le i, j \le N$)
  • 2 i:永远失去弹珠 $i$。($1 \le i \le N$)
  • 3 i l h:观察到包含弹珠 $i$ 的袋子中,红色弹珠的数量至少为 $l$ 且至多为 $h$。($1 \le i \le N, 0 \le l \le h \le N$)

10 年后,Jeyeon 翻看他的日记,并试图恢复每个弹珠的颜色。请构造一个满足他日记中所有记录的颜色序列,或者指出不存在这样的序列。

输入格式

第一行包含两个整数 $N$ 和 $M$ ($2 \le N \le 2000, 1 \le M \le 4000$)。

接下来的 $M$ 行包含按上述格式描述的日记记录。

输入数据保证:在执行任何类型 1 的操作之前,弹珠 $i$ 和 $j$ 处于不同的袋子中;并且在类型 2 操作中失去的弹珠在后续的任何记录中都不会被再次提及。

输出格式

第一行,如果存在一种满足所有 $M$ 条记录的 $N$ 个弹珠的颜色序列,输出 YES。否则,输出 NO

如果答案为 YES,在下一行输出一个长度为 $N$ 的字符串。如果弹珠 $i$ 是红色的,则字符串的第 $i$ 个字符必须为 R;如果弹珠 $i$ 是蓝色的,则为 B。如果存在多个满足条件的答案,输出其中任意一个即可。

样例

输入样例 1

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

输出样例 1

YES
RBRRB

输入样例 2

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

输出样例 2

NO

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.