当前位置: 首页 > news >正文

寒假作业三——抓老鼠啊~亏了还是赚了?

PTA寒假编程第三题

抓老鼠啊~亏了还是赚了?

某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的捕鼠夹(T),或者放置一块奶酪(C),或者什么也不放(X)。捕鼠夹可重复利用,不计成本,奶酪每块3元。 聪明的老鼠呢?它们每天可能会派出一只老鼠到墙角,看看墙角有啥: 若什么也没有(X),老鼠们就不高兴了(Unhappy),会有长达一天(也就是第二天)的不高兴期。在不高兴期间,不派出老鼠。不高兴期结束之后,派出老鼠。 若有捕鼠夹(T),这只老鼠被引诱吃掉奶酪并被打死(Dead),老鼠们会有长达两天(也就是第二和第三天)的伤心期。在伤心期间,不派出老鼠。伤心期结束之后,派出老鼠。在这种情况下,抓到1只老鼠可获得奖励10元,但同时也耗费了一块奶酪。注意,如果某一天放置了捕鼠夹但老鼠没有出现,则没有耗费奶酪。 若有奶酪(C),老鼠吃了奶酪会很开心(Happy!),会有长达两天(第二和第三天)的兴奋期。在兴奋期间,即使叠加了不高兴或者伤心,也必定派出老鼠。在这种情况下,没抓到老鼠,而且耗费了一块奶酪。注意,如果某一天放置了奶酪但老鼠没有出现,则奶酪可以下次再用,没有耗费。 现在给你连续几天的操作序列,且已知第一天肯定会派出老鼠,请判断老鼠每天的状态,并计算盈利。

输入格式:
输入在一行中给出连续的由C或T或X组成的不超过70个字符的字符串,以$结束。字符串中每个字符表示这一天的操作( 即X:什么都不放;T:放捕鼠夹;C:放奶酪)。题目保证至少有一天的操作输入。
输出格式:
要求在第一行输出连续的字符串,与输入相对应,给出老鼠的状态:
! 表示派出老鼠吃到奶酪
D 表示派出老鼠被打死
U 表示派出老鼠无所获
表示没有派出老鼠
第二行则应输出一个整数表示盈利。(如果有亏损,则是负数)
输入样例1:
TXXXXC$
输出样例1:
D--U-!
4
输入样例2:
CTTCCX$
输出样例2:
!DD--U
11

实验代码:

include<stdio.h>
int main(void)
{
int happy=0,unhappy=0,sad=0;
int money=0;
char ch;while((ch=getchar())!='$'){
if(sad>0&&happy==0){
printf("-");
sad--;
}
if(ch=='C'){
printf("!");
happy=2;
money-=3;
}
if(ch=='X'){
printf("U");
unhappy=1;
}
}
}
printf("\n%d",money);

return 0;

}
实验截图:1579713-20190216185441171-1388357880.png

流程图:1579713-20190216194222667-606369401.png

转载于:https://www.cnblogs.com/txtnb/p/10388729.html

相关文章:

  • 【剑指offer】让抽象问题具体化
  • 读书笔记1--力哥说理财:手把手教你玩转基金
  • [学习笔记]二叉树的遍历
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • leetcode388. Longest Absolute File Path
  • 后端_MYSQL
  • Java的Interrupt与线程中断
  • Go 领军人物谢孟军:智能制造渴望银弹,首先要摒弃偏见
  • Spark2.4.0源码分析之WorldCount ShuffleMapTask处理(八)
  • 技术总结(持续更新,偏自己看)
  • 小程序 setData 学问多
  • 洛谷P5163 WD与地图
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 轻松防止服务器被黑
  • spring cloud构建互联网分布式微服务云平台-服务网关zuul
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • bearychat的java client
  • fetch 从初识到应用
  • FineReport中如何实现自动滚屏效果
  • JAVA多线程机制解析-volatilesynchronized
  • TCP拥塞控制
  • Travix是如何部署应用程序到Kubernetes上的
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 记录一下第一次使用npm
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 实战|智能家居行业移动应用性能分析
  • 一个完整Java Web项目背后的密码
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 最简单的无缝轮播
  • kubernetes资源对象--ingress
  • $(function(){})与(function($){....})(jQuery)的区别
  • (007)XHTML文档之标题——h1~h6
  • (C)一些题4
  • (办公)springboot配置aop处理请求.
  • (一)Linux+Windows下安装ffmpeg
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)Linux下编译安装log4cxx
  • **PHP二维数组遍历时同时赋值
  • . NET自动找可写目录
  • .NET 反射的使用
  • /etc/skel 目录作用
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [2021 蓝帽杯] One Pointer PHP
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [BZOJ 2142]礼物(扩展Lucas定理)
  • [BZOJ3223]文艺平衡树
  • [flink总结]什么是flink背压 ,有什么危害? 如何解决flink背压?flink如何保证端到端一致性?
  • [java基础揉碎]关系运算符(比较运算符)逻辑运算符赋值运算符三元运算符运算符的优先级
  • [JS入门到进阶] 前端开发不能写undefined?这是误区!
  • [Leetcode] 寻找数组的中心索引
  • [MySQL数据库部署及初始化相关]
  • [PHP]关联和操作MySQL数据库然后将数据库部署到ECS
  • [Python基础]Python文件处理小结
  • [SpringCloud | Linux] CentOS7 部署 SpringCloud 微服务