#P16821. [NWRRC 2023]First Solved, Last Coded
[NWRRC 2023]First Solved, Last Coded
题目描述
在 ICPC 中,团队协作至关重要。你们队伍中,Sol 负责解题,Codie 负责实现,而你负责在两人之间传递题解纸。
比赛共有 道题,每道题都有一个主题,用 到 的整数表示。不同题目的主题可以相同。
Sol 希望按照主题序列
依次解题;Codie 则只愿意按照主题序列
依次编码。
Sol 会按 的顺序把题解交给你。你只能把收到的题解纸放入一个栈中,并从栈顶取出题解交给 Codie。
在任意时刻,你最多可以执行以下两种操作之一:
- 若仍有题目尚未被 Sol 解出,则让 Sol 交给你下一份题解,并将其压入栈顶。该操作记为字符
S; - 若栈非空,则从栈顶取出一份题解并交给 Codie。该操作记为字符
C。
请找出一个操作序列,使得 Sol 和 Codie 都能严格按照各自希望的主题顺序工作。
输入格式
第一行包含一个整数 ,表示题目数量()。
第二行包含 个整数 ,表示 Sol 希望的主题顺序()。
第三行包含 个整数 ,表示 Codie 希望的主题顺序()。
保证两个序列作为多重集合相等,即每个整数在 和 中出现的次数相同。
输出格式
若无法完成任务,输出一行:
NO
否则,第一行输出:
YES
第二行输出一个长度为 的字符串,其中恰好包含 个 S 和 个 C,表示按顺序执行的操作。
不允许在所有题目都已解出后继续执行 S,也不允许把主题不符合 Codie 当前需求的题解交给他。
若有多种答案,输出任意一种。
样例 1
4
4 1 2 2
1 2 4 2
YES
SSCSCCSC
样例 2
3
2 3 1
1 2 3
NO