牛客网——小乔和小灰灰(栈)

这是第59次牛客练习赛的第一题,我也是太菜了,难度标记为困难就只能通过这一题,难度中等的比赛还说的过去。这是题目:

我的想法使用栈,先将键入的字符串逐个推入栈中,然后逐个出栈,满足有XiaoHuiHui或者XiaoQiao的顺序的话就把标记设置为true,当标记都为true时说明是Happy反之输出emm

AC代码如下:

#include<iostream>
#include<string>
#include<cstring>
#include<stack>
using namespace std;

bool flag1 = false;
bool flag2 = false;

int main(void)
{
	bool flag = false;
	string n;
	stack<char> aa;
	string a = "XiaoQiao";
	string b = "XiaoHuiHui";
	cin >> n;
	for (int i = n.size() - 1; i >= 0; i--)
	{
		aa.push(n[i]);
	}
	int i = 0, j = 0;
	while (!aa.empty())
	{
		if (aa.top() == a[i]|| aa.top() == b[j])
		{
			if(aa.top() == a[i])i++;
			if (aa.top() == b[j])j++;
		}
		aa.pop();
		if (i == a.size() && j == b.size())
		{
			cout << "Happy" << endl;
			flag = true;
			break;
		}
	}
	if (flag == false)cout << "emm" << endl;
	system("pause");
	return 0;
}
发布了162 篇原创文章 · 获赞 38 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_41938259/article/details/104855137