X的追求道路
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
X在大家的帮助下终于找到了一个妹纸,于是开始了漫漫的追求之路,那么大家猜一猜X能不能追的上呢?
X初始对妹纸有一个心动值,妹纸对X有一个好感值,在追求时发生的的一系列事件中,当X对妹纸的心动值大于等于100,并且妹纸对X的好感值也大于等于100时,X就追上了妹纸。并且不会因为以后两个值低于100的情况而分手。
事件1:两个人一起吃饭,那么心动值和好感值都增加5
事件2:两个人一起逛街,那么心动值和好感值都增加10
事件3:如果X给妹纸买了礼物,那么心动值减少5,好感值增加10
事件4:如果妹纸给X买了礼物,那么心动值增加20,好感值减少5
那么我们猜一猜吧。
输入
第一行输入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的好感值。
输出
输出一行。
如果X追上妹子,那么输出”happy!”。
否则,输出”tiantai!” (不含引号) 。
示例输入
4 A B C D 80 80
示例输出
happy!
提示
来源
winddreams
示例程序
#include <stdio.h>
typedef struct Girl
{
int x;
int h;
}girl;
int main()
{
girl g[101];
char c;
int n, i, k1, k2, flag;
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
scanf("%s",&c);//此处用%c会出现WA,原因未知,请oj联系管理员!O(∩_∩)O
g[i].h=g[i].x=0;
if(c=='A')
{
g[i].h+=5;g[i].x+=5;
}
else if(c=='B')
{
g[i].h+=10;g[i].x+=10;
}
else if(c=='C')
{
g[i].h+=10;g[i].x-=5;
}
else if(c=='D')
{
g[i].h-=5;g[i].x+=20;
}
}
scanf("%d%d",&k1,&k2);
for(i=0;i<n;i++)
{
flag=0;
k1+=g[i].x;
k2+=g[i].h;
if(k1>=100 && k2>=100)
{
printf("happy!\n");
flag=1;
break;
}
}
if(flag==0)
printf("tiantai!\n");
return 0;
}