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. 函数知识总结(js)

    c语言中函数的形参必须定义类型,而且形参的个数和实参的个数必须相等.但是在js中形参不需要定义,在函数定义的小括号中只需要写形参名就可以了不用写var关键字,而且在函数调用时传入的实参可以和形参的个数 ...

  2. Java基础语法08-面向对象-枚举-包装类-接口

    枚举 枚举是一种特殊的类它的对象是有限固定的几个常量对象. JDK1.5之前 构造器加private私有化 本类内部创建一组常量对象,并添加public static修饰符,对外暴露这些常量对象 JD ...

  3. 【后端C#】后台通过http post 调用 webservice 的方法

    定义http post 调用webservice的某个方法 /// <summary> /// http Post调用 WebService /// </summary> pu ...

  4. JS 操作符、控制流程、循环、字符串/数组方法

    操作符 算术运算符:+ .- . * . / . %.++.-- 赋值运算符:= .+=.-=. *=./=.%= 比较运算符:>.>=.<.<=.!=.==.===(全等,数 ...

  5. mysql如何处理高并发(转)

    mysql高并发的解决方法有:优化SQL语句,优化数据库字段,加缓存,分区表,读写分离以及垂直拆分,解耦模块,水平切分等. 高并发大多的瓶颈在后台,在存储mysql的正常的优化方案如下: (1)代码中 ...

  6. 搭建私人的云笔记_使用webdav服务

    搭建私人的云笔记_使用webdav服务 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-10-10. 手机上有很多云笔记app,大多支持云存储.可是把笔记放在别人的服务器上,总觉得不 ...

  7. ts--泛型

    //泛型:软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性,组件不仅要能支持当前的数据类型,同时也能支持未来的数据类型 //泛型就是解决 类  接口  方法的复用性 以及对不特定 ...

  8. 致初学者:零基础如何学好,Python这门编程语言?

    前言对于很多Python这门编程语言的初学者,往往会面临以下问题: Python2和Python3我该学习哪一个?是否要安装Linux系统学习Python?Python3有各种版本我该安装哪一个?那么 ...

  9. IT兄弟连 HTML5教程 在移动设备上设置原始大小显示

    在iPhone系列和iPod Touch中使用的是Safari浏览器,它支持前面介绍的媒体查询表达式.例如,使用iPhone 320px×480px的分辨率去访问我们前面的布局示例,却无法得到我们想看 ...

  10. Dubbo学习系列之十二(Quartz任务调度)

    Quartz词义为"石英"水晶,然后聪明的人类利用它发明了石英手表,因石英晶体在受到电流影响时,它会产生规律的振动,于是,这种时间上的规律,也被应用到了软件界,来命名了一款任务调度 ...