#P13586. [NWRRC 2023] First Solved, Last Coded
[NWRRC 2023] First Solved, Last Coded
Description
在 ICPC 比赛中,团队合作至关重要。因此,你们队里的每个人都有明确的分工:Sol the Solver 能解决题目集中的任何问题,Codie the Coder 能实现 Sol 想出的任何解法,而你……则是把一切联系在一起的纽带。Sol 和 Codie 对于解决/实现题目的顺序都非常挑剔,你的任务就是满足他们的偏好。
即将到来的比赛中有 道题目,你知道每道题的大致类型:贪心、几何、图论等。为简化问题,我们用 到 的整数来表示每种类型。这些整数不一定互不相同,也就是说,比赛中可能有多道题属于同一类型。
Sol 希望按照特定的题目类型顺序来解决问题:首先是类型为 的题目,然后是 ,依此类推,最后是 。Codie 也有自己的偏好列表:,只愿意按照这个题目类型顺序来实现题目。
你在比赛中的工作是从 Sol 那里接过解答纸,然后按正确的顺序交给 Codie。由于你们队只有一张桌子,你没有足够的空间把所有解答纸都整齐地摆放好。因此,你想出了如下的工作流程:你会按 的顺序向 Sol 要解答纸,并将其放在你桌子上的一个栈中,然后再按 的顺序把解答纸交给 Codie。
更正式地说,在比赛的任何时刻,你最多可以进行以下两种操作之一:
- 如果还有未解决的问题,可以向 Sol 再要一份解答纸,并将其放到你的解答纸栈顶。这个操作用字符 表示。
- 如果你的栈非空,可以从栈顶取出一份解答纸交给 Codie 实现。这个操作用字符 表示。
对于给定的 Sol 和 Codie 的偏好列表,请找出一组操作序列,保证所有题目都能按正确的顺序被解决和实现。假设解决和实现题目的时间都可以忽略不计——管理解答纸才是更难、更重要的工作。
Input Format
第一行包含一个整数 ,表示比赛中的题目数量()。
第二行包含 个整数 ,表示 Sol 的题目类型偏好顺序()。
第三行包含 个整数 ,表示 Codie 的题目类型偏好顺序()。
给定的两个列表作为多重集是相等的:每个整数在 和 中出现的次数相同。
Output Format
如果无法完成任务,输出 。否则,第一行输出 ,第二行输出操作序列:一个长度为 的字符串,由 个 和 个 组成,依次描述你的操作顺序。
你不能在所有 道题都已解决后再向 Sol 要解答纸,也不能把题目类型不符的解答纸交给 Codie。如果有多种答案,输出任意一种即可。
4
4 1 2 2
1 2 4 2
YES
SSCSCCSC
3
2 3 1
1 2 3
NO
Hint
由 ChatGPT 4.1 翻译
京公网安备 11011102002149号