305542: CF1051C. Vasya and Multisets

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Vasya and Multisets

题意翻译

$Vasya$有一个由n个整数组成的多集合。 如果它在$multiset$中出现一次,$Vasya$会调用一些数字$x nice$。 例如,$multiset${1,1,2,3,3,3,4}包含不错的数字2和4。 $Vasya$希望将$multiset s$分成两个多重集a和b(其中一个可能是空的),使得$multiset a$中的漂亮数字的数量与$multiset b$中的漂亮数量的数量相同。

题目描述

Vasya has a multiset $ s $ consisting of $ n $ integer numbers. Vasya calls some number $ x $ nice if it appears in the multiset exactly once. For example, multiset $ \{1, 1, 2, 3, 3, 3, 4\} $ contains nice numbers $ 2 $ and $ 4 $ . Vasya wants to split multiset $ s $ into two multisets $ a $ and $ b $ (one of which may be empty) in such a way that the quantity of nice numbers in multiset $ a $ would be the same as the quantity of nice numbers in multiset $ b $ .

输入输出格式

输入格式


The first line contains a single integer $ n~(2 \le n \le 100) $ . The second line contains $ n $ integers $ s_1, s_2, \dots s_n~(1 \le s_i \le 100) $ — the multiset $ s $ .

输出格式


If there exists no split of $ s $ to satisfy the given requirements, then print "NO" in the first line. Otherwise print "YES" in the first line. The second line should contain a string, consisting of $ n $ characters. $ i $ -th character should be equal to 'A' if the $ i $ -th element of multiset $ s $ goes to multiset $ a $ and 'B' if if the $ i $ -th element of multiset $ s $ goes to multiset $ b $ . Elements are numbered from $ 1 $ to $ n $ in the order they are given in the input. If there exist multiple solutions, then print any of them.

输入输出样例

输入样例 #1

4
3 5 7 1

输出样例 #1

YES
BABA

输入样例 #2

3
3 5 1

输出样例 #2

NO

Input

题意翻译

$Vasya$有一个由n个整数组成的多集合。 如果它在$multiset$中出现一次,$Vasya$会调用一些数字$x nice$。 例如,$multiset${1,1,2,3,3,3,4}包含不错的数字2和4。 $Vasya$希望将$multiset s$分成两个多重集a和b(其中一个可能是空的),使得$multiset a$中的漂亮数字的数量与$multiset b$中的漂亮数量的数量相同。

加入题单

算法标签: