请教一个问题
  • 板块学术版
  • 楼主2542783563m
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/10/11 16:40
  • 上次更新2024/10/11 20:06:40
查看原帖
请教一个问题
740270
2542783563m楼主2024/10/11 16:40

小明的扑克牌

题目描述

小明有nn张扑克牌,每张扑克牌正面有一个数字aia_i,背面有个数字bib_i,你可以将扑克牌正面朝上或者反面朝上,使得朝上的数字之和为SS,请问是否有一种方案能满足,如果没有输出NoNo。如果有一种合法方案,请输出YesYes,并且输出一个字符串表示方案,如果第ii张扑克牌正面朝上输出HH,反面朝上输出TT

输入格式

第一行输入一个整数TT,代表测试用例数目

对于每一个样例的第一行,输入两个整数n,Sn, S代表扑克牌的数目,以及数字之和

对于每一个样例接下来nn行,输入两个整数ai,bia_i, b_i分别代表扑克牌正面朝上的数字以及反面朝上的数字。

输出格式

对于每一个样例:

如果有方案满足,第一行输出”Yes“,第二行输出方案,如果第ii张扑克牌正面朝上输出TT,反面朝上输出HH

如果没有方案满足,输出一个”No“占一行。

样例 #1

样例输入 #1

2
3 3
1 2
2 1
1 2
3 10
1 2
3 4
1 1

样例输出 #1

Yes
THT
No

提示

T =2,有两个测试用例

对于第一个测试用例而言,S=3S = 3,第一张扑克牌正面朝上,第二张扑克牌反面朝上, 第三章扑克牌正面朝上,所得的和为1+1+1=31 + 1 + 1 = 3合法。所以输出Yes,方案为THTTHT

对于第二个测试用例而言,S=10S=10,发现没有合法的方案,输出"No"即可

数据范围:

对于所有的TT满足1T51 \leq T \leq 5

20%的数据满足1n20,1S1001\leq \sum n \leq 20, 1\leq \sum S \leq 100,

80%的数据满足1n100,1S100001 \leq \sum n\leq 100, 1 \leq \sum S\leq 10000

求大佬解答

2024/10/11 16:40
加载中...