Lifeform Detector(栈)
程序员文章站
2022-04-07 19:13:18
...
题解:类似于括号匹配,这里是看a与b是否匹配,然后c可以跳过,注意特判其他字母。
#include<iostream>
#include<stack>
using namespace std;
int main( )
{
int n;
cin>>n;
stack<char> p;
for(int i=1;i<=n;i++)
{
int flag=1;
while(!p.empty() )
{
p.pop();
}
string s;
cin>>s;
for(int j=0;j<s.size() ;j++)
{
if(s[j]=='a') p.push(s[j]);
else if(s[j]=='b')
{
if(!p.empty())
{
if(p.top()=='a')
p.pop() ;
}
else
{
flag=0;
break;
}
}
else if(s[j]=='c') continue;
else
{
flag=0;
break;
}
}
if(flag)
{
if(p.empty()) cout<<"Pattern "<<i<<": More aliens!"<<endl;
else cout<<"Pattern "<<i<<": Still Looking."<<endl;
}
else cout<<"Pattern "<<i<<": Still Looking."<<endl;
cout<<endl;
}
return 0;
}
上一篇: 2048纯手工制作
下一篇: 面试官问你分析过Mybatis源码吗?