#418. 选牛
选牛
Description
Farmer John 的农场中有 n 头牛。天天在农场中转来转去,牛们觉得很闷,它们纷纷要求 John 带它们出去旅行。
为了防止牛们在旅途中发生“暧昧”,John 准备挑选一些牛。John 希望他挑选出的牛中的任意两头牛至少满足以下四个条件之一:
1、身高差超过 d,巨大的身高差会使得它们互相望而却步;
2、要么都是公牛,要么都是母牛,这样它们就没法暧昧了;
3、具有不同的发型,这样它们会互相看不顺眼;
4、穿的衣服类型相同,这样它们会因撞衫而尴尬。
为了尽量安抚牛们,John 希望能带尽可能多的牛出去旅行。
他最多能带多少头牛出去呢?
Input
第一行:包含一个整数 T,表示数据组数
接下来 T 组数据,每组数据:
- 第一行:包含两个整数 n, d
- 接下来 n 行,每行描述一头奶牛,包括四部分:首先是一个整数 Hi,用来表示身高;接着是一个字符 Si,用来表示性别;然后是一个字符串 Fi,用来表示发型;最后是一个字符串 Di,用来表示衣服类型。
Output
T 行,每组数据的答案占一行
Sample Input
2
2 10
20 M bar skii
30 F bar socc
4 50
35 M glass pro
0 M bar skii
43 M bar chess
30 F bar socc
Sample Output
1
3
Data Size
100% 的数据:1 ≤ T ≤ 100, 1 ≤ n ≤ 500, 10 ≤ d ≤ 50, 0 ≤ Hi ≤ 5000, Si ∈ {M, F}, |Fi|, |Di| ≤ 100
相关
在下列比赛中: