atcoder#ABC271D. [ABC271D] Flip and Adjust

[ABC271D] Flip and Adjust

配点 : 400400

問題文

両面に整数が書かれたカードが NN 枚あり、i(1iN)i \, (1 \leq i \leq N) 枚目のカードの表には aia_i が、裏には bib_i が書かれています。

あなたは、それぞれのカードについて、表を上に向けて置くか裏を上に向けて置くかを自由に決めることができます。

上に向けられた面に書かれた整数の総和がちょうど SS となるようにカードを置くことができるか判定し、可能ならそのようなカードの置き方の一例を求めてください。

制約

  • 1N1001 \leq N \leq 100
  • 1S100001 \leq S \leq 10000
  • 1ai,bi100(1iN)1 \leq a_i, b_i \leq 100 \, (1 \leq i \leq N)
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられる。

NN SS

a1a_1 b1b_1

\vdots

aNa_N bNb_N

出力

まず、上に向けられた面に書かれた整数の総和がちょうど SS となるようにカードを置くことができるならば Yes を、できなければ No を出力し、改行せよ。

さらに、そのようにカードを置くことができるならば、カードの置き方を表す H および T のみからなる長さ NN の文字列を出力せよ。 この文字列の i(1iN)i \, (1 \leq i \leq N) 文字目は、ii 枚目のカードを表を上に向けて置くなら H、裏を上に向けて置くなら T でなければならない。 条件を満たすカードの置き方が複数考えられる場合、どれを出力しても正解となる。

3 11
1 4
2 3
5 7
Yes
THH

例えば次のように置くことで、上に向けられた面に書かれた整数の総和がちょうど S(=11)S (= 11) となります。

  • 11 枚目は表、22 枚目は裏、33 枚目は裏を上に向けて置く。
  • 11 枚目は裏、22 枚目は表、33 枚目は表を上に向けて置く。

よって、HTTTHH といった出力が正解となります。

5 25
2 8
9 3
4 11
5 1
12 6
No

上に向けられた面に書かれた整数の総和がちょうど S(=25)S (= 25) となるようにカードを置くことはできません。