4446: 划分

内存限制:128 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:Special Judge 上传者:
提交:64 通过:4

题目描述

给定一个集合S,其中含有 n 个整数,规定若某个整数在集合中只出现一次,则称该数为超级数。
例如,集合 {1,1,2,3,3,3,4} 中包含两个超级数 2,4
现在请你将 S 分成两个集合 A 和 B (其中一个可为空),使得 A 中超级数的数量和 B 中超级数的数量相同。

输入格式

第一行包含一个整数 n

第二行包含 n 个整数 s1,s2,…,sn

输出格式

如果不存在合理的划分方案,则输出一行 NO。

否则,第一行输出 YES,第二行输出一个长度为 n 的由 A 和 B 构成的字符串,其中的第 i 个字符,如果为 A 则表示 si 划分到集合 A,如果为 B 则表示 si 划分到集合 B

如果方案不唯一,输出任意合理方案均可。

输入样例 复制

4
3 5 7 1

输出样例 复制

YES
BABA

数据范围与提示

前 6 个测试点满足 2≤n≤12
所有测试点满足 2≤n≤1001≤si≤100

输入样例2:

3
3 5 1

输出样例2:

NO

分类标签