CF1296E1 String Coloring (easy version)

题目描述

这是该问题的简单版本。实际问题有所不同,但简单版本几乎是困难版本的一个子任务。请注意约束条件和输出格式是不同的。 给定一个由 $n$ 个小写拉丁字母组成的字符串 $s$。 你需要将字符串的每个字符染成两种颜色之一(每个字符只能染成一种颜色,相同字母可以染成相同或不同的颜色,即你可以为 $s$ 中的每个下标选择一种颜色)。 染色后,你可以交换任意两个相邻且颜色不同的字符。你可以进行任意次(也可以不进行)这样的操作。 目标是使字符串变为有序,即所有字符按字母顺序排列。 你的任务是判断是否存在一种染色方式,使得经过若干次上述操作后,字符串可以变为有序。注意,你只需要输出一种可行的染色方案,而不需要输出交换的具体过程。

输入格式

输入的第一行包含一个整数 $n$($1 \le n \le 200$),表示字符串 $s$ 的长度。 第二行包含一个恰好由 $n$ 个小写拉丁字母组成的字符串 $s$。

输出格式

如果不存在可行的染色方案,使得经过若干次操作后字符串可以有序,第一行输出 "NO"(不带引号)。 否则,第一行输出 "YES"。第二行输出任意一个可行的染色方案(染色方案是一个长度为 $n$ 的字符串,第 $i$ 个字符为 '0' 表示第 $i$ 个字符染成第一种颜色,为 '1' 表示染成第二种颜色)。

说明/提示

由 ChatGPT 4.1 翻译