4252: 所有可见整数之和恰好等于S
内存限制:1024 MB
时间限制:2.000 S
评测方式:文本比较
命题人:
提交:4
解决:1
题目描述
# Flip and Adjust
## 题目描述
有$N$张卡片,每张卡片正反两面都写有一个整数。第$i$张卡片正面写有整数$a_i$,反面写有整数$b_i$。你可以选择每张卡片正面朝上或反面朝上。
判断是否可以通过翻转卡片,使所有可见整数之和恰好等于$S$。如果可能,找出一种实现方法。
输入
## 输入格式
输入从标准输入中给出,格式如下:
$N$ $S$
$a_1$ $b_1$
$a_2$ $b_2$
$\vdots$
$a_N$ $b_N$
输出
## 输出格式
首先,如果可以使可见整数之和恰好等于$S$,则输出"`Yes`",否则输出"`No`",后跟换行符。
另外,如果存在这样的放置方法,请输出一个长度为$N$的字符串,由"`H`"和"`T`"组成,表示实现该和的卡片放置方法。第$i$个字符应为"`H`",如果第$i$张卡片应正面朝上放置,为"`T`"如果应反面朝上。如果有多种可能的放置方法来实现该和,输出其中任何一种即可。
样例输入 复制
3 11
1 4
2 3
5 7
样例输出 复制
Yes
THH
提示
## 输入输出样例
### 输入样例1
```
3 11
1 4
2 3
5 7
```
### 输出样例1
```
Yes
THH
```
### 输入样例2
```
5 25
2 8
9 3
4 11
5 1
12 6
```
### 输出样例2
```
No
```
## 数据范围与提示
【样例1说明】
例如,以下放置方法可以使可见整数之和恰好等于$S(= 11)$:
- 将第1张卡片正面朝上放置,第2张反面朝上,第3张反面朝上。
- 将第1张卡片反面朝上放置,第2张正面朝上,第3张正面朝上。
因此,输出"`HTT`"和"`THH`"都是可以接受的。
【样例2说明】
无法通过翻转卡片使可见整数之和恰好等于$S(= 25)$。
【数据范围】
- $1 ≤ N ≤ 100$
- $1 ≤ S ≤ 10000$
- $1 ≤ a_i, b_i ≤ 100 (1 ≤ i ≤ N)$
- 输入中的所有值都是整数。
【提示】
注意:此题评测方式为代提交模式,您的代码会提交至此题的源网站,查看评测结果会有一些延时,预计30秒左右,请耐心等待。
【此题为代提交,评测时间会较长】
## 题目来源
ABC271D