Poj 1786 Bridge Hands

来源:互联网 发布:java serverlet 编辑:程序博客网 时间:2024/05/16 14:08

1.将52张牌发给4个人,每人13张。

 

2.排序输出,按suit的优先级大于rank。

 

3.suit的优先级为C<D<S<H。代表(club) < (diamond) < (spade) < (heart)。

 

4.rank的优先级为2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < T < J < Q < K < A 。

 

5.玩家的名称为东南西北,每次一个发牌者,从他左手开始发,顺时针直到最后一张牌发给他自己。

 

6.读入一副牌,打印出每个人的牌最后排序的结果,玩家按南西北东。

 

 

 

 

 

收获:

1. 在将字符转化成数字便于排序的时候直接定义了一个const char S[]={"CDSH"},R[]={"23456789TJQKA"};

这样每个字符都和一个优先级数字对应起来。

之前手写写的switch,代码长,WA了之后不便于查错,而且容易某个地方写挫了检查不出来。

 

2.发牌需要知道发牌者以便确定第一张牌给谁,定义了一个cur即为当前领牌的人,将所有玩家写入数组player[5][15],默认打印顺序,

即南->0,西->1,北->2,东->3。在读入的时候比较好处理。