Problem Description

X在大家的帮助下终于找到了一个妹纸,于是开始了漫漫的追求之路,那么大家猜一猜X能不能追的上呢?

X初始对妹纸有一个心动值,妹纸对X有一个好感值,在追求时发生的的一系列事件中,当X对妹纸的心动值大于等于100,并且妹纸对X的好感值也大于等于100时,X就追上了妹纸。并且不会因为以后两个值低于100的情况而分手。

事件1:两个人一起吃饭,那么心动值和好感值都增加5

事件2:两个人一起逛街,那么心动值和好感值都增加10

事件3:如果X给妹纸买了礼物,那么心动值减少5,好感值增加10

事件4:如果妹纸给X买了礼物,那么心动值增加20,好感值减少5

那么我们猜一猜吧。

Input

第一行输入n(n < 100),表示发生了n个事件。

之后的n行,每行一个字符,表示事件i发生了。(事件1的代号A,事件2的代号B,事件3的代号C,事件4的代号D)

最后一行,输入两个整数k1,k2(0 < k1 < 100 && 0 < k2 < 100),k1表示X对妹纸的心动值,k2表示妹纸对X的好感值。

Output

输出一行。

如果X追上妹子,那么输出”happy!”。

否则,输出”tiantai!” (不含引号) 。

Sample Input

  1. 4
  2. A
  3. B
  4. C
  5. D
  6. 80 80

Sample Output

  1. happy!
  2.  
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7. ;
  8. ];
  9. scanf("%d",&z);
  10. getchar();
  11. ;i<z;i++)
  12. {
  13. scanf("%c",&a[i]);
  14. getchar();
  15. }
  16. scanf("%d %d",&n,&m);
  17. ;i<z;i++)
  18. {
  19. if(a[i]=='A')
  20. {
  21. n=n+;
  22. m=m+;
  23. }
  24. else if(a[i]=='B')
  25. {
  26. n=n+;
  27. m=m+;
  28. }
  29. else if(a[i]=='C')
  30. {
  31. n=n-;
  32. m=m+;
  33. }
  34. else if(a[i]=='D')
  35. {
  36. n=n+;
  37. m=m-;
  38. }
  39. printf("%d %d\n",n,m);
  40. &&m>=)
  41. {
  42. f=;
  43.  
  44. }
  45.  
  46. }
  47. )
  48. {
  49. printf("tiantai!\n");
  50. }
  51. else printf("happy!\n");
  52. ;
  53. }
  1. 非常简单的一道题目,只需要注意字符输入时规避回车的影响每次做完一件事就进行一次判断就可以了
  2.  
  3. 问题在于和我同学讨论的过程中,发现他输入字符的代码是这样的:
  1. scanf("%d",&z);
  2. getchar();
  3. ;i<z;i++)
  4. {
  5. scanf("%s",&a[i]);
  6. }
  1.  
  1. 这里对于字符的输入,他使用了%s,而且不需要考虑回车的影响,这看起来是非常奇怪的;
  1. 事实上,由于后面是一个字符数组,当使用%s时,会以&a[i]为首地址输入一个字符串 "X\0"X为大写字母),而在下一次输入时,a[i+1]处储存的'\0'就会被下一个字符串的第一个字符覆盖,在这道题中不会产生影响。
  1.  
  1. 在此程序中定义的字符数组是足够大的,所以不会产生其他影响,当定义的数组大小为临界值时,这种输入方式就会因越界产生崩溃的可能,且当后面的变量为一个字符时,编译器也不会报错(CodeBlocks)。
  1.  
  1.  

【SDUT】2019SDUTACM第一次选拔赛 F- X的追求道路的更多相关文章

  1. X的追求道路

    X的追求道路 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描写叙述 X在大家的帮助下最终找到了一个妹纸,于是開始了漫漫的追求之路,那 ...

  2. 2016 ccpc 网络选拔赛 F. Robots

    Robots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  3. 2016级算法第一次练习赛-F.AlvinZH的儿时梦想——机器人篇

    864 AlvinZH的儿时梦想----机器人篇 题目链接:https://buaacoding.cn/problem/868/index 思路 中等题. 判断无限玩耍: \(p\) 的值能够承担的起 ...

  4. windows service自动重启服务

    服务一般都能正常的运行,但有时候也会有一些假死现象,比如公司有一考勤服务就因为依赖于硬件厂家的api, 但厂家api运行一段时间后会默名的假死,引起整个服务假死,因为这一假死现象具有不确定性,所以不太 ...

  5. extern、static、auto、register 定义变量的不同用法

    首先得说明什么叫“编译单元”.每个 .c 文件会被编译为一个 .o 文件,这个就是一个编译单元.最后所有的编译单元被链接起来,就是一个库或一个程序. 一个变量/函数,只要是在全局声明的,链接之后都隐含 ...

  6. CF781D Axel and Marston in Bitland [倍增 矩阵乘法 bitset]

    Axel and Marston in Bitland 好开心第一次补$F$题虽然是$Div.2$ 题意: 一个有向图,每条边是$0$或$1$,要求按如下规则构造一个序列然后走: 第一个是$0$,每次 ...

  7. Python(三)——文件操作

    在我们用语言的过程中,比如要往文件内进行读写,那么势必要进行文件操作,那么咋操作呢?用眼睛直接看么?今天就定个小目标,把文件读写那些事扯一扯 文件操作 把大象放进冰箱分几步? 第一步:打开冰箱 第二步 ...

  8. Python入门-文件操作

    文件读取f = open('D:/工作日常/学生空姐模特护士联系方式.txt', 'r', encoding=‘utf-8’)f.read()f.close()解释file='D:/工作日常/学生空姐 ...

  9. python之初级篇2

    一.数字类型 1)整数 int 类型 - bit_length() # 查询以二进制表示一个数字的值所需的位数 - int.from_bytes(bytes,byteorder) # 返回给定字节数组 ...

随机推荐

  1. bossplayersCTF 1: Vulnhub Walkthrough

    主机扫描: http://10.10.202.130/ <!--WkRJNWVXRXliSFZhTW14MVkwaEtkbG96U214ak0wMTFZMGRvZDBOblBUMEsK--> ...

  2. github克隆项目缓慢

    github浏览或者克隆项目的时候,总是十分缓慢,下面是亲自自测的一种方式,克隆速度可以稍快一些 第一步 访问域名解析网站:https://www.ipaddress.com/ 在网页下方可以看见一个 ...

  3. oopday01(面向对象-类&private&this)

    面向对象基本概述.封装 01_面向对象(面向对象思想概述) * A:面向过程思想概述    * 第一步    * 第二步 * B:面向对象思想概述    * 找对象(第一步,第二步) * C:举例   ...

  4. SpringSession 独立使用

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...

  5. RDP矢量数据压缩算法

    在绘制对象边缘时涉及到了这个算法,记录一下. 该算法递归进行,首先设定一个阈值,在点集的第一个点和最后一个点间拉一条线段,找出剩下的点集中离线段最远的一个点,如果该点到线段的距离小于阈值则舍弃中间的所 ...

  6. React 面试问题

    eact 面试问题 如果你是一位有理想的前端开发人员,并且正在准备面试,那么这篇文章就是为你准备的.本文收集了 React 面试中最常见的 50 大问题,这是一份理想的指南,让你为 React 相关的 ...

  7. 使用Condition

    /** * ReentrantLock使用Condition对象来实现wait和notify的功能* 使用Condition时,引用的Condition对象必须从Lock实例的newCondition ...

  8. tl-wr742n 怎么设置dns

    打开无线路由器,用笔记本设置,点击无线网络,点击连接需要设置的无线路由  在弹出的菜单点击[是]  在无线路由器有的背面有个标签,上面PIN码,输入PIN码  打开IE浏览器在地址栏输入192.168 ...

  9. js 注意事项使用误区

    1.加法注意事项 2.浮点数注意事项 3.js,数组需使用数字作为下标索引,不支持关联数组的用法.对象不能混淆使用数组的length方法,并且不能使用数字作为下标,得使用属性值作为下标使用,否则会返回 ...

  10. HTML连载55-网易注册界面实战之input填充

    一.又学一招:想要让两个盒子高度对齐,那么让他们浮动起来 <!DOCTYPE html> <html lang="en"> <head> < ...