zcmu 1376 天天跑酷
Description
在天天酷跑这个游戏中,玩家的目的是为了收集更多的分数和奔跑更远的距离。能增加分数的道具一共有4种,分别是金币银币铜币和动物头像。其中金币能增加5分,银币能增加3分,铜币1分,动物头像则能增加10分。天天酷跑中还有一种叫做点石成金的道具,可以在接下来10秒内将获得的银币铜币变成金币。假设玩家在1秒内只能获得一样道具(包括得分的道具),且若玩家处于点石成金的状态下获得了点石成金道具,则会刷新点石成金的持续时间(既点石成金的持续时间又变成了10秒),给定接下来n秒内每秒出现的道具,计算出经过n秒后玩家能获得多少分数。
Input
多组测试数据,每组测试数据的第一行为一个正整数n(1<=n<=10^6)。第二行为n个字符('A’表示金币,'B’表示银币,'C’表示铜币,'D’表示动物头像,'E’点石成金)。
Output
对于每组测试数据输出一个整数代表n秒后获得的分数。
Sample Input
5
ABCDE
5
EDCBA
Sample Output
19
25
解题思路:
这道题关键在于遇到E时进入点石成金的状态,这里就是要区分是否处于点石成金的状态,分别计算分数和;并且处于点石成金的状态下获得了点石成金道具会刷新点石成金的持续时间,这里注意一下就好啦,还有就是在任何状态下遇到D也就是动物头像都是加10分,但是在点石成金的状态下需要减少一秒。这道题理清思路并不难,若用(一开始我就是用if)if判断会超时,改成了switch-case。
超时代码:
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int main(){long int n,count=0;double sum=0;while(scanf("%d",&n)!=EOF){getchar();char x[1000005];scanf("%s",x);for(int i=0;i<strlen(x);i++){if(count==0){if(x[i]=='A'){sum+=5.0;}else if(x[i]=='B'){sum+=3.0;}else if(x[i]=='C'){sum+=1.0;}else if(x[i]=='D'){sum+=10.0;}elsecount=10;}else{if(x[i]=='A'||x[i]=='B'||x[i]=='C'){sum+=5.0;count--;}else if(x[i]=='D'){sum+=10.0;count--;}else {count=10;}}n--;}printf("%.0lf\n",sum);sum=0;count=0;}return 0;
}
ac代码:
#include<iostream>
#include<cstdio>
int main(){int n;while(scanf("%d",&n)!=EOF){char y[1000005];scanf("%s",y);double sum=0;int count=0;for(int i=0;i<n;i++){switch(y[i]){case 'A':if(count==0)sum+=5.0;else {count--;sum+=5.0;}break;case 'B':if(count==0)sum+=3.0;else {count--;sum+=5.0;}break;case 'C':if(count==0)sum+=1.0;else {count--;sum+=5.0;}break;case 'D':if(count==0)sum+=10.0;else {count--;sum+=10.0;}break;//*注意不要写成case 'D':sum+=10.0;break;*case 'E':count=10;break;}}printf("%.0lf\n",sum);}return 0;
}
zcmu 1376 天天跑酷相关推荐
- zcmu 1376: 天天酷跑
1376: 天天酷跑 Time Limit: 1 Sec Memory Limit: 128 MB Description 在天天酷跑这个游戏中,玩家的目的是为了收集更多的分数和奔跑更远的距离.能增加 ...
- cocos2dx 3.10 实现天天跑酷金币吸入效果, 分享给大家
我的项目里需要这个特效,于是做了一个,分享给需要用到的同学. 为了节省时间,所以程序结构就不要吐槽了,你们拿到后可以直接用就行,这就是我的目的 地址 : http://download.csdn.ne ...
- 模拟天天酷跑游戏java_cocos2d 简单高仿天天酷跑游戏
1.先直接上视频来看下这个游戏的样子(GIF已经不能满足这个游戏的展示了) 跑酷游戏最纠结的是地图,碰撞倒是简单,可以自己写或者使用box2d等物理引擎.跑酷游戏地图的特点就是随机性.但是随机中又有策 ...
- 用Java实现的跑酷小游戏
前言 自学java前期做的小项目,主要灵感来源于天天跑酷和大家耳熟能详的flappy bird小游戏,当然在运行过程中也有许多瑕疵,欢迎指正 结构 1.显示窗口,绘制人物与背景 2.点击鼠标,人物即可 ...
- cocos2d 简单高仿天天酷跑游戏
1.先直接上视频来看下这个游戏的样子(GIF已经不能满足这个游戏的展示了) 跑酷游戏最纠结的是地图,碰撞倒是简单,可以自己写或者使用box2d等物理引擎.跑酷游戏地图的特点就是随机性.但是随机中又有策 ...
- Unity 4.x游戏开发技巧集锦(内部资料)
2019独角兽企业重金招聘Python工程师标准>>> Unity 4.x游戏开发技巧集锦(内部资料) 淘宝书店地址:http://item.taobao.com/item.htm? ...
- parallels desktop 缺少组件_厦门100W5折电脑太阳能光伏组件,100W293mm*418mm*70mmMP4车载太阳能板...
深圳市迪晟能源技术有限公司为您详细解读mDFIGg厦门100W5折电脑太阳能光伏组件的相关知识与详情,太阳能电池又称为"太阳能芯片"或"光电池",是一种操纵太阳 ...
- 腾讯PGC最大规模调整涉及5个VP:“王者荣耀之父”主管 QQ
腾讯PCG 迎来自2018年9月成立以来至今最大一次组织调整,涉及2个事业群.5位集团副总裁,一个子公司. 最大的变化发生在视频业务上:腾讯视频与短视频平台微视共同组建隶属于平台与内容事业群(PCG) ...
- cocos2d 高仿doodle jump 无源代码
1. 游戏视频 主角眼熟吗?没错,上次跑酷游戏中的"30"来Jump了,有三种道具.主角光环,竹蜻蜓.翅膀: 有两种怪物,螃蟹和鸟: 有5种板子.点击屏幕,30会把它的嘴巴3给发射 ...
最新文章
- 研发管理101军规#003 实战规模化敏捷:从8人到百人的敏捷之路
- linux查看虚拟内存和cpu占用率
- 叮~ 量子位欢迎你加入AI群聊
- mysql 必须掌握的工具pt-query-digest安装
- 定时器注入spring
- 单片机位寻址举例_单片机的寻址方式
- android sdk platform-tools 19.0.1,如何强制Android Studio 0.6.0使用SDK Build Tools 19.1.0
- 可持久化平衡树(FHQ Treap)
- python3怎么定义long_python3 整数类型PyLongObject 和PyObject源码分析
- 逻辑表达式是否合法_Linux shell 逻辑运算符、逻辑表达式详解
- mysql 生成短网址_生成短链接的URL
- 如何启动Intel VT-X及合理利用搜索
- 生成模型VS判别模型
- 使用ActiveMQ实现简易聊天功能
- 部署ASP.Net 2.0应该注意的问题
- 没解决:eclipse的JDK Compliance的Use compliance from execution无法选中
- 如何获取联盟后台的s.click.taobao.com的短链接
- Raster Map光栅图 VS Vector Map矢量图
- SpringBoot集成onlyoffice实现word文档编辑保存 [ 转载 ]
- 存储虚拟化的特性和优势