#lydlx00x0802. 占卜DIY

占卜DIY

扑克占卜游戏

题目描述

达达学会了使用扑克 DIY 占卜。

方法如下:

一副去掉大小王的扑克共 52 张,打乱后均分为 13 堆,编号 1∼13,每堆 4 张,其中第 13 堆称作"生命牌",也就是说你有 4 条命。

这里边,4 张 K 被称作死神。

初始状态下,所有的牌背面朝上扣下。

流程如下:

  1. 抽取生命牌(第13堆)中的最上面一张(第一张)。
  2. 把这张牌翻开,正面朝上,放到牌上的数字所对应编号的堆的最上边。(例如抽到 2,正面朝上放到第 2 堆牌最上面,又比如抽到 J,放到第 11 堆牌最上边,注意是正面朝上放)
  3. 从刚放了牌的那一堆最底下(最后一张)抽取一张牌,重复第 2 步。(例如你上次抽了 2,放到了第二堆顶部,现在抽第二堆最后一张发现是 8,又放到第 8 堆顶部...)
  4. 在抽牌过程中如果抽到 K,则称死了一条命,就扔掉 K 再从第 1 步开始。
  5. 当发现四条命都死了以后,统计现在每堆牌上边正面朝上的牌的数目,只要同一数字的牌出现 4 张正面朝上的牌(比如 4 个 A),则称"开了一对",当然 4 个 K 是不算的。
  6. 统计一共开了多少对,开了 0 对称作"极凶",1∼2 对为"大凶",3 对为"凶",4∼5 对为"小凶",6 对为"中庸",7∼8 对"小吉",9 对为"吉",10∼11 为"大吉",12 为"满堂开花,极吉"。

输入格式

一共输入 13 行数据,每行四个数字或字母,表示每堆牌的具体牌型(不区分花色只区分数字),每堆输入的顺序为从上到下。

为了便于读入,用 0 代表 10。

同行数字用空格隔开。

输出格式

输出一个整数,代表统计得到的开出的总对数。

输入输出样例 #1

输入 #1

8 5 A A
K 5 3 2
9 6 0 6
3 4 3 4
3 4 4 5
5 6 7 6
8 7 7 7
9 9 8 8
9 0 0 0
K J J J
Q A Q K
J Q 2 2
A K Q 2

输出 #1

9

牌值对应关系

  • A = 1
  • 2 = 2
  • 3 = 3
  • ...
  • 9 = 9
  • 0 = 10
  • J = 11
  • Q = 12
  • K = 13

游戏流程详解

  1. 初始化:13堆牌,每堆4张,所有牌背面朝上。
  2. 生命牌:第13堆是生命牌,有4张牌代表4条命。
  3. 游戏过程
    • 从生命牌堆顶取一张牌
    • 将该牌正面朝上放到对应编号的堆顶(如抽到2放到第2堆顶)
    • 从刚才放牌的那一堆底部取一张牌
    • 重复上述过程,直到抽到K(死神)
    • 抽到K则死一条命,扔掉K,从生命牌堆顶重新开始
  4. 结束条件:4条命都用完(抽到4次K)
  5. 统计:统计每种数字(A,2,3,...,10,J,Q,不包括K)正面朝上的牌是否达到4张

注意点

  • 每堆牌的输入顺序是从上到下
  • 操作时:
    • 放牌:放到对应堆的顶部(最上面)
    • 抽牌:从对应堆的底部(最后一张)抽取
  • 只有非K的牌达到4张正面朝上才计数
  • K牌被抽到就扔掉,不会正面朝上放在任何堆里

样例解释

根据输入样例,经过模拟游戏过程后,统计得到有9种数字的牌全部4张都正面朝上,因此输出9。