题目名称 595. 拱猪计分
输入输出 heart.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2011-09-28加入
开放分组 全部用户
提交状态
分类标签
模拟
分享题解
通过:37, 提交:95, 通过率:38.95%
GravatarAlan 100 0.002 s 0.17 MiB Pascal
Gravatar201105 100 0.002 s 0.27 MiB C++
Gravatar风华正茂 100 0.002 s 0.27 MiB C++
Gravatar~Love Star 100 0.002 s 0.29 MiB C++
Gravatarmikumikumi 100 0.002 s 0.29 MiB C++
GravatarLauncher 100 0.002 s 0.31 MiB C++
Gravatar11111111 100 0.002 s 0.32 MiB C++
Gravatar, 100 0.003 s 0.17 MiB Pascal
Gravatar甘罗 100 0.003 s 0.17 MiB Pascal
Gravatardonny 100 0.003 s 0.26 MiB C++
本题关联比赛
20110928
20110928
20150714B
关于 拱猪计分 的近10条评论(全部评论)
GravatarMarvolo
2015-12-15 20:58 7楼
@raywzy 给432行跪了!!!!!
Gravatarcstdio
2013-11-06 09:00 6楼
大家有兴趣可以看下我代码。。。。我都不想看自己的了= =、、、、
Gravatarraywzy
2013-11-05 22:53 5楼
给跪。。。居然还有例三尼玛。。。
GravatarLauncher
2013-11-05 22:06 4楼
还是读题跪了。。。红心是全了只有500分的,而不是200分基础上加500分
Gravatardigital-T
2013-11-05 22:01 3楼
这TM是语文题语文题语文题语文题语文题语文题!!!!!!!!
Gravatarcstdio
2013-11-05 21:44 2楼
看错题了……555,没看懂题目是要求多组数据的……我还纳闷输出为啥少了一行……
Gravatar王者自由
2011-09-29 07:48 1楼

595. 拱猪计分

★☆   输入文件:heart.in   输出文件:heart.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】
    拱猪是一种很有趣的扑克牌游戏。 即使你不知道它的玩法,你也可以由它的计分方式来了解它的趣味性。 假设在此我们仅考虑四个人的拱猪牌局,本题要求你根据下面的计分规则,在牌局结束时计算四位玩家所得分数。

  1. 我们分别以 S 、 H 、 D 及 C 来代表黑桃,红心,方块及梅花,并以数字 1 至 13 来代表 A 、 2 、 … 、 Q 、 K 等牌点,例如︰ H1 为红心 A , S13 为黑桃 K 。
  2. 牌局结束时,由各玩家持有的有关计分的牌 ( 计分牌 ) 仅有 S12 ( 猪 ) ,所有红心牌, D11 ( 羊 ) 及 C10 ( 加倍 ) 等 16 张牌。其它牌均弃置不计。若未持有这 16 张牌之任一张则以得零分计算。
  3. 若持有 C10 的玩家只有该张牌而没有任何其它牌则得 +50 分,若除了 C10 还有其它计分牌,则将其它计分牌所得分数加倍计算。
  4. 若红心牌不在同一家,则 H1 至 H13 等 13 张牌均以负分计,其数值为 -50 , -2 , -3 , -4 , -5 , -6 , -7 , -8 , -9 , -10 , -20 , -30 , -40 。而且 S12 与 D11 分别以 -100 及 +100 分计算。
  5. 若红心牌 H1 至 H13 均在同一家,有下列情形︰
    • 所有红心牌以 +200 分计算(13张总共+200分)。
    • 若 S12 、 D11 皆在吃下所有红心牌之一家,则此玩家得 +500 分(这15张总共+500分)。
    • 而 C10 还是以前面所述原则计算之。

例一:若各玩家持有计分牌如下: ( 每行代表一玩家所持有之牌 )

S12 H3 H5 H13

D11 H8 H9

C10 H1 H2 H4 H6 H7

H10 H11 H12

则各家之得分依序为: -148 、 +83 、 -138 及 -60 。

例二:若各玩家持有计分牌如下: ( 第四家未持有任何计分牌 )

H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13

S12 C10

D11

则各家之得分依序为: +200 、 -200 、 +100 及 0 。

例三:若有一玩家持有所有 16 张计分牌,则得 +1000 分。其余三家均得零分。

【输入格式】
     每个输入文件由多组测试数据构成,每组测试数据有四行,每一行第一个数为该玩家所持有计分牌总数,而后列出其所持有之所有计分牌,牌数与各计分牌均以一个以上的空格分开。相邻两组测试数据之间不会有空白行,读到四家持牌数都为 0 表示文件结束。

【输出格式】
     每一行输出一组测试数据对应的结果,依次输出各家所得分数,共四个整数 ( 含正负号, 0 除外 ) ,相邻两个整数之间以一个空格分开,符号和数字间不可以有空格。每组输出间不需要有空白行。

【输入输出样例】
 
输入:
heart.in
4 S12 H3 H5 H13
3 D11 H8 H9
6 C10 H1 H2 H4 H6 H7
3 H10 H11 H12
13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13
2 S12 C10
1 D11
0
0
0
0
0
 

输出:
heart.out
-148 +83 -138 -60
+200 -200 +100 0