#2588. 扑克牌游戏(慈溪2014第1题)
扑克牌游戏(慈溪2014第1题)
Description
聪聪和明明两位小朋友正在玩一个扑克牌游戏。每一副扑克牌有黑桃、红桃、草花、方块四种花色,每种花色有13 张牌,牌值分别是Ace、2、3、4、5、6、7、8、9、10、Jack、Queen、King,如下图所示:
每一轮出牌,聪聪首先拿出一张牌,然后明明也拿出一张牌,当明明拿出的牌与聪聪拿出的牌花.色.相.同.且.牌.值.比.聪.聪.的.大.时,明明才能获得本轮出牌的胜利,否则聪聪胜利。这里我们假定牌值的大小关系为:2<3<4<5<6<7<8<9<10<Jack<Queen<King<Ace
请编程计算某一轮出牌中,当聪聪拿出一张牌后,明明有多少种出牌方案可以获得胜利,并输出牌值最小的出牌方案。
Input Format
输入文件card.in:输入从文件中读取,输入共N+2 行。第1 行是表示聪聪的出牌信息,首先是一个代表花色的小写字母,然后是一个代表牌值的整数,中间用一个空格分隔。
第2 行一个整数N(1≤N≤100),表示明明现在手上牌的数量。
接下来N 行,每行表示明明手中一张牌的信息,首先是一个代表花色的小写字母,然后是一个代表牌值的整数,中间用一个空格分隔。注意,他们玩的游戏有多.副.牌.,所以有些牌可能重复。
说明:表示花色的小写字母为“s”、“h”、“c”、“d”,分别表示黑桃、红桃、草花、方块。表示牌值的整数为1 到13,其中1 表示Ace,11 表示Jack,12 表示Queen,13 表示King。
Output Format
输出文件card.out:结果输出到文件中,输出共2 行。第1 行输出明明要想获得胜利有多少种出牌方案。花色和牌值都相同的出牌方案算作一种。如果明明没有可以获胜的出牌方案,则输出“0”,此时第2 行不需要输出。
第 2 行输出明明要想获得胜利可以出的牌中牌.值.最.小.的那张牌的信息,包括牌的花色和牌值,中间用一个空格分隔。花色用小写字母“s”、“h”、“c”、“d”分别表示黑桃、红桃、草花、方块,牌值用Ace、2、3、4、5、6、7、8、9、10、Jack、Queen、King 分别表示1到13。
h 11
4
c 1
h 12
h 10
s 12
1
h Queen
Hint
【样例1 解释】聪聪本轮出的牌位为红心Jack。明明有4 张牌,分别为草花Ace,红心Queen,红心10和黑桃Queen。明明要想获得胜利,出的牌花色必须和聪聪相同且牌值比聪聪的大,所以只有1 种出牌方案,为红心Queen。 【输入输出样例2】
card.in
h 5
6
s 1
h 1
c 10
h 7
h 12
h 7
card.out
3
h 7
【样例2 解释】
聪聪本轮出的牌为红心5,明明有6 张牌,分别为黑桃Ace、红心Ace、草花10、红心7、红心Queen 和红心7。明明要想获得胜利,出的牌花色必须和聪聪相同且牌值比聪聪的大,所以有3 种出牌方案,为红心Ace、红心Queen 和红心7,其中红心7 明明有2 张牌,但只算一种方案。牌值最小的出牌方案为红心7。
【输入输出样例3】
card.in
h 1
4
s 1
h 1
c 10
h 13
card.out
0
【样例3 解释】
聪聪本轮出的牌为红心Ace,明明手上现在有4 张牌,分别为黑桃Ace、红心Ace、草花10、红心King。明明要想获得胜利,出的牌花色必须和聪聪相同且牌值比聪聪的大,但明明手上没有这样的牌,所以输出0,此时第2 行不需要输出。
【数据范围约定】
所有的输入数据保证1≤N≤100。