uva673_平衡的括号(网上写的好麻烦。。)



///////////////////////////////////////////////////////////////////////////////////////////////////////

作者:tt2767

声明:本文遵循以下协议自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0

查看本文更新与讨论请点击:http://blog.csdn.net/tt2767

链接被删请百度: CSDN tt2767

///////////////////////////////////////////////////////////////////////////////////////////////////////



这就是个水题,本质上就是判断括号顺序,只要考虑下列几种错误的情况:

1.)( 或】【

2.(【) 或【(】

3.((() 或 【】】】】或()))或【【【【【】

简单来说,保持个数平衡,括号对称,没有夹杂的就好了

#include<cstdio>
#include<iostream>
#include<cstring>
int main()
{
    int n;
    scanf("%d",&n);
    getchar();
    while(n--)
    {
        char s[200];
        gets(s);
        int x,y;
        bool flag = true;
        x=y=0;
        for(int i = 0 ; i < strlen(s) ; i++)
        {
            if(s[i] == ‘(‘ && x>=0 && s[i+1] != ‘]‘)
                x++;
            else if(s[i] == ‘)‘ && x >0)
                x--;
            else if(s[i] == ‘[‘ && y >= 0 && s[i+1] != ‘)‘)
                y++;
            else if(s[i] == ‘]‘ && y > 0)
                y--;
            else
            {
                flag = false;
                break;
            }
        }

        if(flag && !x && !y)
            puts("Yes");
        else
            puts("No");

    }
}

版权声明:本文为博主原创文章,允许非商业性转载,转载必须著名作者(CSDN tt2767)与本博客链接:http://blog.csdn.net/tt2767。

时间: 2024-10-24 23:11:53

uva673_平衡的括号(网上写的好麻烦。。)的相关文章

平衡的括号[UVA-673]

UVA673 Parentheses Balance 书上习题6-1,题比较简单,主要是使用栈这个"后进先出"的数据结构.因为平衡的括号,必然可以在左半括号进行push而右半括号进行pop,当到达序列末尾而栈不空,显然不满足题意了. 抛开题目说几点内容:一是之前看王爽的<汇编语言>,对栈的pop操作有些误解.在汇编语言中(8086包括现在的IA32.X86-64指令),pop指令有一个操作数,表示将栈顶的元素出栈后所放置的内存单元地址:而在数据结构的栈中,pop操作只是将栈

平衡的括号Uva-673

题意大概:输入一个包括"()"和"[ ]"的括号序列,判断是否合法.具体规则如下: 1.空串合法. 2.如果A和B都合法,那么AB也合法. 3.如果A合法,那么[A]和(A)都合法. 思路: 初始化一个栈,输入序列,然后进行扫描: 1.序列长度肯定是偶数(包括 0): 2.如果是"["或者"("则将其压进栈里面: 3.如果是")"或者"]",则根据当前栈顶的元素值进行判断, 如果匹配不成

平衡的括号(名字怪怪的~)

题意: You are given a string consisting of parentheses () and []. A string of this type is said to be correct: (a) if it is the empty string (b) if A and B are correct, AB is correct, (c) if A is correct, (A ) and [A ] is correct. Write a program that

平衡的括号

题目: You are given a string consisting of parentheses () and []. A string of this type is said to be correct: (a) if it is the empty string (b) if A and B are correct, AB is correct, (c) if A is correct, (A ) and [A ] is correct. Write a program that

UVa 673 平衡的括号

题意:给出包含"()"和"[]"的括号序列,判断是否合法. 用栈来完成,注意空串就行. 1 #include<iostream> 2 #include<string> 3 #include<cstring> 4 #include<stack> 5 using namespace std; 6 7 stack<char> sta; 8 string s; 9 10 int solve() 11 { 12 ch

十万火急,还请各位园友们帮帮忙。谢谢!!能够用Java写出来的麻烦发一下代码。

一辆大众车时速60km/时,以每小时5km速度加速,这辆车最大时速为120km/时: 一辆宝马车时速70km/时,以每小时8km速度加速,这辆车最大时速为150km/时:请问这两辆车分别多久能行驶1000km??? 请用Java编写出来,,,十万火急.帮帮忙,谢谢. 原文地址:https://www.cnblogs.com/x10011314xxx/p/11125454.html

html5移动端页面分辨率设置及相应字体大小设置的靠谱使用方式

对于动端网页编写CSS网上有很多介绍的文章,但在实际使用过程中还是会纠结. 网上的资料太多,且大多都是技术介绍型,特别是针对android上,网上写的各种麻烦,各种复杂,各种不接地气儿... 我在做移动端网页时,总是和美工设计的页面有出入,主要还是由于双方对移动端HTML5实现页面还了解还不够. 今天就研究一下各大互联网公司对于移动端页面的处理方式. 主要研究对象:BAT(度娘,阿狸,企鹅)这几家的移动端网站或webapp 主要研究点:viewport的设置,字体的设置,图片原始宽高设置 汝甚吊

shell写的一个小脚本

想用shell脚本实现对一个文件夹里所有的图片的像素转换 这里错误的几个地方: 1.定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z). 中间不能有空格,可以使用下划线(_). 不能使用标点符号. 不能使用bash里的关键字(可用help命令查看保留关键字). 2.使用一个定义过的变量,只要在变量名前面加美元

请求转发并且把数据写在request传过去接收在显示出来

import java.io.IOException; import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servle