括号匹配

数据结构实验之栈四:括号匹配

TimeLimit: 1000ms Memory limit: 65536K 有疑问?点这里^_^

题目描述

给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的() ,[ ],{ }是否匹配。

输入

输入数据有多组,处理到文件结束。

输出

如果匹配就输出“yes”,不匹配输出“no”

示例输入

sin(20+10)

{[}]

示例输出

yes

no

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define RR freopen("input.txt","r",stdin)
#define WW freopen("output.txt","w",stdout)
#define INF 0x3f3f3f3f
using namespace std;
int trans(char s)
{
    if(s=='[')
        return 1;
    if(s==']')
        return 6;
    if(s=='{')
        return 2;
    if(s=='}')
        return 5;
    if(s=='(')
        return 3;
    if(s==')')
        return 4;
    return 0;
}
int main()
{
    char str[100];
    int s[110];
    while(gets(str))
    {
        int len=strlen(str);
        int ans,top=0;
        bool flag=true;
        for(int i=0; i
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define RR freopen("input.txt","r",stdin)
#define WW freopen("output.txt","w",stdout)
#define INF 0x3f3f3f3f

using namespace std;

int trans(char s)
{
    if(s=='[')
        return 1;
    if(s==']')
        return 6;
    if(s=='{')
        return 2;
    if(s=='}')
        return 5;
    if(s=='(')
        return 3;
    if(s==')')
        return 4;
    return 0;
}
int main()
{
    char str[100];
    while(gets(str))
    {
        int len=strlen(str);
        int ans;
        bool flag=true;
        stacks;
        for(int i=0; i


你可能感兴趣的:(括号匹配)