AT_apc001_g.Colorful Doors

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一座连接左岸和右岸的桥。桥上的 2N2N 个不同的位置分别放置着一种颜色的门。每个门的颜色用 11 到 NN 之间的整数表示。对于每一个 kk(1≤k≤N1 \leq k \leq N),颜色为 kk 的门恰好有两个。

すぬけ君打算从左岸走到右岸。他总是向右行走,在行走过程中会发生如下现象:

  • 当すぬけ君触碰到颜色为 kk(1≤k≤N1 \leq k \leq N)的门时,他会立即传送到另一扇颜色为 kk 的门的右边(即紧挨着那扇门的右侧)。

可以证明,すぬけ君最终一定可以到达右岸。

对于每一个 ii(1≤i≤2N−11 \leq i \leq 2N-1),我们把从左起第 ii 个门和第 i+1i+1 个门之间的区间称作区间 ii。すぬけ君渡桥结束后,他对每个 ii(1≤i≤2N−11 \leq i \leq 2N-1)记录了自己是否经过了区间 ii。这个记录以长度为 2N−12N-1 的字符串 ss 形式给出。对于每一个 ii(1≤i≤2N−11 \leq i \leq 2N-1),如果すぬけ君走过了区间 ii,则 ss 的第 ii 位为 1,否则为 0。

图:对应于输入样例 3 的门的分布示意图

请判断是否存在一种与记录不矛盾的门的分布,如果存在,请给出一种分布方案。

输入格式

输入从标准输入中读入,格式如下:

NN ss

输出格式

如果不存在与记录不矛盾的门的分布,输出 No。如果存在,输出 Yes,然后在第二行输出一种门的分布。对于每个 ii(1≤i≤2N1 \leq i \leq 2N),cic_i 表示从左到右第 ii 个门的颜色。

c1c_1 c2c_2 …\dots c2Nc_{2N}

输入输出样例

  • 输入#1

    2
    010

    输出#1

    Yes
    1 1 2 2
  • 输入#2

    2
    001

    输出#2

    No
  • 输入#3

    3
    10110

    输出#3

    Yes
    1 3 2 1 2 3
  • 输入#4

    3
    10101

    输出#4

    No
  • 输入#5

    6
    00111011100

    输出#5

    Yes
    1 6 1 2 3 4 4 2 3 5 6 5

说明/提示

限制条件

  • 1≤N≤1051 \leq N \leq 10^5
  • ∣s∣=2N−1|s| = 2N-1
  • ss 只包含字符 0 和 1

样例解释 3

以下的图与题目正文中一致。示意图

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页