#AT2328. D - Flip and Adjust

D - Flip and Adjust

当前没有测试数据。

D - 翻转和调整

得分:400 点

问题描述

有 $N$ 张卡片,每张卡片一面写有一个整数。第 $i$ 张卡片 $(1 \leq i \leq N)$ 前面写有整数 $a_i$,背面写有整数 $b_i$。

你可以选择将每张卡片正面或背面向上放置。

确定是否可以将卡片放置,使得可见整数的和正好等于 $S$。如果可能,找出一种放置卡片的方式实现该和。

约束条件

  • $1 \leq N \leq 100$
  • $1 \leq S \leq 10000$
  • $1 \leq a_i, b_i \leq 100 \, (1 \leq i \leq N)$
  • 输入中的所有值均为整数。

输入

输入从标准输入中按以下格式给出:

NN SS

a1a_1 b1b_1

\vdots

aNa_N bNb_N

输出

首先,如果可以使可见整数的和正好等于 $S$,则输出 Yes,否则输出 No,然后换行。

此外,如果存在这样的放置方式,则输出一个长度为 $N$ 的字符串,由由 HT 组成,表示卡片的放置方案。
第 $i$ 个字符 $(1 \leq i \leq N)$ 如果表示第 $i$ 张卡片应该正面向上,则该字符为 H;如果代表卡片背面向上,则该字符为 T
如果有多个可能的放置方式来实现和,可以任意输出其中之一。


3 11
1 4
2 3
5 7
Yes
THH

例如,以下的放置方式使得可见整数的和正好等于 $S (= 11)$:

  • 将第 1 张卡片正面向上放置,第 2 张卡片背面向上放置,第 3 张卡片背面向上放置。
  • 将第 1 张卡片背面向上放置,第 2 张卡片正面向上放置,第 3 张卡片正面向上放置。

因此,接受输出 HTTTHH 等。


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

你不能放置卡片,使得可见整数的和正好等于 $S (= 25)$。