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

4
A
B
C
D
80 80

Sample Output

happy!

 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>

 int main()
 {
     ;
     ];
     scanf("%d",&z);
     getchar();
     ;i<z;i++)
     {
         scanf("%c",&a[i]);
         getchar();
     }
     scanf("%d %d",&n,&m);
     ;i<z;i++)
     {
         if(a[i]=='A')
         {
             n=n+;
             m=m+;
         }
         else if(a[i]=='B')
         {
             n=n+;
             m=m+;
         }
         else if(a[i]=='C')
         {
             n=n-;
             m=m+;
         }
         else if(a[i]=='D')
         {
             n=n+;
             m=m-;
         }
         printf("%d %d\n",n,m);
         &&m>=)
         {
              f=;

         }

     }
     )
     {
          printf("tiantai!\n");
     }
     else printf("happy!\n");
     ;
 }
非常简单的一道题目,只需要注意字符输入时规避回车的影响每次做完一件事就进行一次判断就可以了

问题在于和我同学讨论的过程中,发现他输入字符的代码是这样的:
     scanf("%d",&z);
     getchar();
     ;i<z;i++)
     {
         scanf("%s",&a[i]);
     }
 
这里对于字符的输入,他使用了%s,而且不需要考虑回车的影响,这看起来是非常奇怪的;
事实上,由于后面是一个字符数组,当使用%s时,会以&a[i]为首地址输入一个字符串 "X\0"(X为大写字母),而在下一次输入时,a[i+1]处储存的'\0'就会被下一个字符串的第一个字符覆盖,在这道题中不会产生影响。

在此程序中定义的字符数组是足够大的,所以不会产生其他影响,当定义的数组大小为临界值时,这种输入方式就会因越界产生崩溃的可能,且当后面的变量为一个字符时,编译器也不会报错(CodeBlocks)。
 

【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. C# (转载)webbrowser专题(参考资料:https://www.cnblogs.com/blogpro/p/11458390.html)

    C# .Net 2.0实例学习:WebBrowser页面与WinForm交互技巧 2 Study Case :高亮显示 上一个例子中我们学会了查找文本——究跟到底,对Web页面还是只读不写.那么,如果 ...

  2. CentOS 7上的主机名设置和基本网络管理

    主机名 CentOS 6 查看. # hostname 设置. # hostname NEW_NAME 设置完成后,xshell的会话中不会显示NEW_NAME,可通过重新登录会话来显示.不过实际上我 ...

  3. NGUI 源码分析- AnchorPoint

    AnchorPoint 是 UIRect 的一个内部类,此处规定作为基准的那个对象称为锚点对象,基准对象对应的矩形框称为目标框,当前对象对应的矩形框称为源框. public class AnchorP ...

  4. Android 仿真器 无法启动排查

    从命令行启动仿真器,可以查看其输出. Microsoft Windows [版本 10.0.18362.145] (c) 2019 Microsoft Corporation.保留所有权利. C:\U ...

  5. javascript中的对象拷贝

    js中的数据类型 在介绍javascript中的对象的拷贝之前,我先介绍一个基础的东西,javascript中的数据类型. 我们做前端的应该都知到在es6 之前,javascript中的数据类型Boo ...

  6. 最后的记忆——Spring ApplicationContext

    本文尝试分析一下Spring 的 ApplicationContext体系的 接口设计,尝试理解为什么这么做,为什么接口这么设计.为什么这么去实现,为什么需要有这个方法,为什么 这样命名?接口.类.方 ...

  7. 设计安全的API-JWT与OAuthor2

    最近新开发一个需要给App使用的API项目.开发API肯定会想到JASON Web Token(JWT)和OAuthor2(之前一篇随笔记录过OAuthor2). JWT和OAuthor2的比较 要像 ...

  8. 在Dynamics CRM中使用Bootstrap

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  9. (嵌入式)工程模板的创建和MDK下配置开发STM32F103ZE

    ⭐ 我的网站: www.mengyingjie.com ⭐ 遇到此类问题,但看了文章还是未解决, 评论或加 QQ:781378815

  10. MySQL5.6与MySQL5.7安装的区别

    一.MySQL5.6与MySQL5.7安装的区别 1.cmake的时候加入了boost 下载boost.org 2.初始化时 cd /application/mysql/bin/mysql 使用mys ...