atcoder#ABC271D. [ABC271D] Flip and Adjust

[ABC271D] Flip and Adjust

题目描述

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

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

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

输入格式

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

N N S S a1 a_1 b1 b_1 \vdots aN a_N bN b_N

输出格式

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

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

题目大意

给出 nn 个卡片,每个卡片有正反两面,分别写着 aia_ibib_i,对于每张卡片你可以选择正面或反面,问能否使这些数的和为 mm

1n100,1m1041\le n\le 100,1\le m\le 10^4

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

提示

制約

  • 1  N  100 1\ \leq\ N\ \leq\ 100
  • 1  S  10000 1\ \leq\ S\ \leq\ 10000
  • $ 1\ \leq\ a_i,\ b_i\ \leq\ 100\ \,\ (1\ \leq\ i\ \leq\ N) $
  • 入力は全て整数

Sample Explanation 1

例えば次のように置くことで、上に向けられた面に書かれた整数の総和がちょうど S (= 11) S\ (=\ 11) となります。 - 1 1 枚目は表、2 2 枚目は裏、3 3 枚目は裏を上に向けて置く。 - 1 1 枚目は裏、2 2 枚目は表、3 3 枚目は表を上に向けて置く。 よって、HTTTHH といった出力が正解となります。

Sample Explanation 2

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