| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1230 人关注过本帖
标题:一个有趣的题目[已解决]
只看楼主 加入收藏
yelo20053533
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2006-11-27
收藏
 问题点数:0 回复次数:12 
一个有趣的题目[已解决]


我们分别以 S、H、D 及 C 来代表黑桃,红心,方块及梅花,并以数字 1 至 13 来代表 A、2、…、Q、K 等牌点,例如︰ H1 为红心 A,S13 为黑桃 K。

牌局结束时,由各玩家持有的有关计分的牌(计分牌)仅有 S12 (猪),所有红心牌,D11 (羊)及 C10 (加倍)等16张牌。其它牌均弃置不计。若未持有这 16 张牌之任一张则以得零分计算。

若持有 C10 的玩家只有该张牌而没有任何其它牌则得 +50 分,若除了 C10 还有其它计分牌,则将其它计分牌所得分数加倍计算。

若红心牌不在同一家,则 H1 至 H13 等 13 张牌均以负分计,其数值为 -50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40。而且 S12 与 D11 分别以 -100 及 +100 分计算。

若红心牌 H1 至H13 均在同一家,有下列情形︰


所有红心牌以+200分计算。

若 S12、D11 皆在吃下所有红心牌之一家,则此玩家得 +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 除外),相邻两个整数之间以一个空格分开,符号和数字间不可以有空格。每组输出间不需要有空白行。

测试用例 0
测试输入
1 4 S12 H3 H5 H13
2 3 D11 H8 H9
3 6 C10 H1 H2 H4 H6 H7
4 3 H10 H11 H12
5 13 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13
6 2 S12 C10
7 1 D11
8 0
9 0
10 0
11 0
12 0

期待的输出
1 -148 +83 -138 -60
2 +200 -200 +100 0
时间限制 1秒
内存限制 1024KB

[此贴子已经被作者于2006-11-29 23:13:15编辑过]

搜索更多相关主题的帖子: 红心 
2006-11-28 19:29
yelo20053533
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2006-11-27
收藏
得分:0 
很有趣的一道题
2006-11-29 18:49
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
模拟+搜索

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-11-29 20:22
yelo20053533
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2006-11-27
收藏
得分:0 
什么意思?能详细些吗?
2006-11-29 20:44
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 

依次循环搜索每一张牌,按照题目规则进行记分,就是if判断了,模拟记分策略

若持有 C10 的玩家只有该张牌而没有任何其它牌则得 +50 分,若除了 C10 还有其它计分牌,则将其它计分牌所得分数加倍计算。

若红心牌不在同一家,则 H1 至 H13 等 13 张牌均以负分计,其数值为 -50,-2,-3,-4,-5,-6,-7,-8,-9,-10,-20,-30,-40。而且 S12 与 D11 分别以 -100 及 +100 分计算。

若红心牌 H1 至H13 均在同一家,有下列情形︰


所有红心牌以+200分计算。

若 S12、D11 皆在吃下所有红心牌之一家,则此玩家得 +500 分。

而 C10 还是以前面所述原则计算之。

直到所有的牌记分完毕,循环结束,输出记分

[此贴子已经被作者于2006-11-29 20:59:37编辑过]


My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2006-11-29 20:51
yelo20053533
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2006-11-27
收藏
得分:0 

这样做好像CPU超时,你做下试试

2006-11-29 20:53
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用yelo20053533在2006-11-29 20:53:43的发言:

这样做好像CPU超时,你做下试试

超时?不可能.
只遍历一遍,怎么可能超时.


2006-11-29 21:07
yelo20053533
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2006-11-27
收藏
得分:0 
你是怎么做的?我的程序确实超时
2006-11-29 21:09
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
把你的程序发出来看看.

2006-11-29 21:16
yelo20053533
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2006-11-27
收藏
得分:0 
11

[此贴子已经被作者于2006-11-29 23:13:48编辑过]


2006-11-29 21:45
快速回复:一个有趣的题目[已解决]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026880 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved