石头剪刀布

Description 

放假期间,小蓝与电脑对垒,玩起了一款经典的游戏: “石头剪刀布” 。游戏规则想必大家已经非常熟悉了:两边一样则为平局,否则石头胜于剪刀;剪刀胜于布;布胜于石头。小蓝与电脑的对垒一共有 n 个回合,平局或败局得分为 0;胜局得分取决于小蓝出手的阵容, 剪刀、石头、布各有不同的分值:

出手“石头” 赢的话得 r 点分值;

出手“剪刀” 赢的话得 s 点分值;

出手“布” 赢的话得 c 点分值;

但是,在第 i 回合中,小蓝不能使用在第( i-k) 个回合中使用的阵容。 (在前 k 个回合中,小蓝可以使用任何阵容。)在游戏开始之前,电脑已经事先安排好了每回合比赛的阵容,而小蓝居然未卜先知了电脑的阵容! 电脑的出手阵容用字符串 t 给出,如果 t 的第 i 个字符( 1≤i≤n)为 r,则代表电脑将在第 i 个回合中出手“石头” 。同样, c 和 s 分别代表“布” 和“剪刀” 。那么请你计算一下,小蓝在游戏中可以获得的最大分值是多少?

Input 

n k

r s c

t

其中: n,k,r,s,c 都是整数, t 是字符串。

2≤n≤20

1≤k≤n−1

1≤r,s,c≤1000

字符串 t 的长度是 n。

Output 

小蓝在游戏中可以获得的最大分值。

Sample Input 

5 2
8 7 6
rsrcr

Sample Output 

27

Hint 

【样例解释】

机器出手的阵容是:石头、 剪刀、 石头、 布、 石头则小蓝出手:布、 石头、 石头、 剪刀、 布,分值为6+8+0+7+6=27分第3回合里,小蓝不能再出第( 3-2=1)回合里出过的“布”了,所以选择了平局,出手“石头”,得0分。

【评分标准】

30 分 :完成一个题目样例和给出的一个样例;

50 分 :在 30 分的基础上完成给出的另外一个样例;

100 分:在 50 分的基础上完成给出的最后一个样例。

河北工业大学计算机软件技术基础(VC) 课程设计任务书 题目:人机对战——石头剪刀 目的与要求 目的 通过编写该程序,培养学生综合利用C++语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计,并对Windows平台下的控制台进行深入的了解。 基本要求 要求用C++语言编程,在Visual C++环境下调试完成; 要求划分功能模块,各个功能分别使用函数来完成; 源代码程序要求必要的注释。 设计方法基本原理 课题功能描述 编写一个人机进行石头剪刀的小游戏。要求能够进行完一轮猜拳后,显示统计信息。每一轮游戏的过程是首先由家选择要出的拳,然后计算机选择出拳,输出本轮游戏的胜负情况,然后输出统计信息(家胜利次数、计算机胜利次数平局次数),然后每轮猜拳结束后,询问家是否要继续游戏。游戏界面如下: 主要技术问题的描述 随机函数 随机函数名为rand(),使用时必须包含头文件stdlib.h。 创新要求 在基本要求达到后,进行创新设计: 程序要保证计算机的胜利次数至少是家胜利次数的1.5倍。 课程设计的考核方式及评分方法 考核方式 (1) 学生要提交书面课程设计报告(A4纸打印);并将设计报告的电子文档、.cpp源文件.h头文件放到一个文件夹里上传到所对应班级的学生名称相应文件夹中。 (2) 课程设计结束时,在机房当场验收。教师提供测试数据,由学生运行所设计的系统,检查运行结果是否正确,并回答教师提出的有关问题。 评分方法 根据出勤率、课程设计期间纪律、课程设计运行结果、课程设计报告及答辩情况综合评分。 书写设计报告的要求(详细内容见“设计报告模板”) 课程设计的有关文档“设计报告模板”“课程设计要求”请在下载任务书处下载。    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值