CF1051C.Vasya and Multisets

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

Vasya has a multiset ss consisting of nn integer numbers. Vasya calls some number xx nice if it appears in the multiset exactly once. For example, multiset {1,1,2,3,3,3,4}\{1, 1, 2, 3, 3, 3, 4\} contains nice numbers 22 and 44 .

Vasya wants to split multiset ss into two multisets aa and bb (one of which may be empty) in such a way that the quantity of nice numbers in multiset aa would be the same as the quantity of nice numbers in multiset bb .

输入格式

The first line contains a single integer n (2n100)n~(2 \le n \le 100) .

The second line contains nn integers s1,s2,sn (1si100)s_1, s_2, \dots s_n~(1 \le s_i \le 100) — the multiset ss .

输出格式

If there exists no split of ss 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 nn characters. ii -th character should be equal to 'A' if the ii -th element of multiset ss goes to multiset aa and 'B' if if the ii -th element of multiset ss goes to multiset bb . Elements are numbered from 11 to nn 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
    
首页