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 中超级数的数量相同。
例如,集合 {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≤100,1≤si≤100。
所有测试点满足 2≤n≤100,1≤si≤100。
输入样例2:
3 3 5 1
输出样例2:
NO