概述
题目链接:Aizu 1173 The Balance of the World
用栈模拟一下就行了,居然WA了好几次==。
strcmp(s1,s2)
说明:
当s1<s2时,返回为负数
当s1=s2时,返回值= 0
当s1>s2时,返回正数
#include <iostream>
#include <stack>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
const int MAX_N = 100 + 10;
char str[MAX_N];
int main()
{
//freopen("in.txt", "r", stdin);
while(gets(str) && strcmp(str, "."))
{
bool flag = false;
stack <char> s;
int len = strlen(str);
int i;
for(i = 0; i < len; i++)
{
if(str[i] == '.')
break;
if(str[i] == ']')
{
if(s.empty())
{
printf("non");
flag = true;
break;
}
else
{
if(s.top() == '[')
s.pop();
else
{
printf("non");
flag = true;
break;
}
}
}
else if(str[i] == ')')
{
if(s.empty())
{
printf("non");
flag = true;
break;
}
else
{
if(s.top() == '(')
s.pop();
else
{
printf("non");
flag = true;
break;
}
}
}
else if(str[i] == '(' || str[i] == '[')
s.push(str[i]);
}
if(!s.empty())
{
if(!flag)
printf("non");
flag = true;
}
if(!flag)
printf("yesn");
}
return 0;
}
最后
以上就是光亮河马为你收集整理的Aizu 1173 The Balance of the World的全部内容,希望文章能够帮你解决Aizu 1173 The Balance of the World所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复