#d2453. 德州扑克牌型判定

德州扑克牌型判定

德州扑克牌型判定

题目描述

给定 55 张扑克牌的点数与花色,请判断这 55 张牌能组成的最大牌型。

为保证输入合法,约定:

  1. 所有牌来自同一副扑克牌;
  2. 输入的点数按非递减顺序给出;
  3. 花色之间没有大小之分。

各牌型(从大到小)定义如下:

  1. 皇家同花顺(ROYAL FLUSH):五张点数连续递增的牌,花色相同,且最大的一张是 AA(Ace);
  2. 同花顺(STRAIGHT FLUSH):五张点数连续递增的牌,花色相同;
  3. 四条(FOUR OF A KIND):至少有四张牌点数相同;
  4. 葫芦(FULL HOUSE):至少三张牌点数相同,且其余两张牌点数也相同;
  5. 同花(FLUSH):五张牌花色都相同;
  6. 顺子(STRAIGHT):五张点数连续递增的牌,不要求花色相同;
  7. 若最大牌型不高于三条(THREE OF A KIND),则输出 FOLD(弃牌)。

点数与输入数字的对应关系:

  • 2∼102\sim 10 对应 2∼102\sim 10;
  • JJ(Jack)对应 1111,QQ(Queen)对应 1212,KK(King)对应 1313,AA(Ace)对应 1414。

花色与输入数字的对应关系:

  • 黑桃(Spades)对应 11;
  • 方片(Diamonds)对应 22;
  • 红桃(Hearts)对应 33;
  • 梅花(Clubs)对应 44。

输入格式

输入两行,每行 55 个整数。第一行第 ii 个数表示第 ii 张牌的点数(保证非递减),第二行第 ii 个数表示第 ii 张牌的花色(保证输入合法)。

输出格式

输出这五张牌能组成的最大牌型,取值为下列之一:ROYAL FLUSH、STRAIGHT FLUSH、FOUR OF A KIND、FULL HOUSE、FLUSH、STRAIGHT、FOLD(不含引号)。

样例输入 1

10 11 12 13 14
1 1 1 1 1

样例输出 1

ROYAL FLUSH

样例输入 2

10 11 12 13 14
1 2 1 3 4

样例输出 2

STRAIGHT

样例输入 3

6 6 6 7 7
1 2 3 1 3

样例输出 3

FULL HOUSE

样例输入 4

3 3 6 6 9
1 2 1 2 1

样例输出 4

FOLD