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

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

牛客网——小乔和小灰灰(栈)_第1张图片

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

AC代码如下:

#include
#include
#include
#include
using namespace std;

bool flag1 = false;
bool flag2 = false;

int main(void)
{
	bool flag = false;
	string n;
	stack 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;
}

 

 

你可能感兴趣的:(十一届蓝桥杯复习准备,算法理论的学习(C++))