链接:https://ac.nowcoder.com/acm/contest/4743/A
来源:牛客网
题目描述
小乔和小灰灰是好朋友,现在如果一个字符串中同时出现子序列“XiaoQiao”和“XiaoHuiHui”,那么小乔和小灰灰都会感到开心。
子序列的定义就是存在任意下标a<b<c,那么”SaSbSc”就构成S的一个子序列。如"abc"的子序列有“a"、“b”、“c”、“ab”、“ac”、“bc”、“abc”。
输入描述:
输入包含一行一个字符串S
字符串中仅包含大写字母和小写字母
输出描述:
如果这个串会让小乔和小灰灰都感到开心,那么输出“Happy”,否则输出“emm”。
示例1
输入
XiaoQiaoheHuiHui
输出
Happy
示例2
输入
Xiaohuihuihexiaoqiao
输出
emm
备注:
1<=∣S∣<=1000
∣S∣表示字符串S的长度。
来自牛客的题解
#include<bits/stdc++.h>
using namespace std;
const int N=1005;
int n;
char s[N];
string a="XiaoQiao";
string b="XiaoHuiHui";
int x,y;
int main()
{
scanf("%s",s+1);
n=strlen(s+1);
for(int i=1;i<=n;i++)
{
if(s[i]==a[x]) x++;
if(s[i]==b[y]) y++;
}
if(x==a.size()&&y==b.size()) printf("Happy\n");
else printf("emm\n");
}