UVa 673 Parentheses Balance(括号配对 栈)

题意  判断输入的括号序列是否是配对的

栈的基础应用  栈顶元素与输入的字符匹配就出栈咯  注意括号序列可以为空

STL栈

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int cas;
    char c;
    cin >> cas;
    getchar();
    while(cas--)
    {
        stack<char> s;
        while((c = getchar()) != '\n')
        {
            if(s.empty()) s.push(c);
            else  if((c == ')' && s.top() == '(')
                     || (c == ']' && s.top() == '['))
                s.pop();
            else s.push(c);
        }
        puts(s.empty() ? "Yes" : "No");
    }
    return 0;
}

数组模拟栈

#include<cstdio>
using namespace std;
int main()
{
    int cas, top;
    char s[200], c;
    scanf("%d", &cas);
    getchar();
    while(cas--)
    {
        top = 0;
        while((c = getchar()) != '\n')
        {
            if(top == 0) s[top++] = c;
            else if(s[top - 1] == '(' && c == ')'
                    || s[top - 1] == '[' && c == ']')
                --top;
            else s[top++] = c;
        }
        puts(top ? "No" : "Yes");
    }
    return 0;
}

 Parentheses Balance 

You are given a string consisting of parentheses () and []. A string of this type is said to becorrect:

(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 takes a sequence of strings of this type and check their correctness. Your program can assume that the maximum string length is 128.

Input

The file contains a positive integer n and a
sequence of n strings of parentheses () and [],
one string a line.

Output

A sequence of Yes or No on
the output file.

Sample Input

3
([])
(([()])))
([()[]()])()

Sample Output

Yes
No
Yes

时间: 2025-01-05 23:10:39

UVa 673 Parentheses Balance(括号配对 栈)的相关文章

UVA - 673 - Parentheses Balance (栈的应用!)

UVA - 673 Parentheses Balance Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Description  Parentheses Balance  You are given a string consisting of parentheses () and []. A string of this type is said to be co

uva 673 Parentheses Balance

Parentheses Balance 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 pr

UVa 673 Parentheses Balance(栈的使用)

 栈 Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Description 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, A

UVa 673 Parentheses Balance【栈】

题意:输入一个包含"()"和"[]"的序列,判断是否合法 用栈来模拟,遇到"(",“[”就入栈,遇到')',']'就取出栈顶元素看是否匹配,如果不匹配,则不合法 还有注意一下每次取出栈顶元素的时候判断栈是否为空,如果为空就要跳出循环 注意空串也是合法的串 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include <cmat

UVA 673 Parentheses Balance 解题心得

原题 Description 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 pr

UVA 637 Parentheses Balance(栈)

题目代号:HDU 1237 题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=103&page=show_problem&problem=614 题目原文: Parentheses Balance You are given a string consisting of parentheses () and []. A string of this type

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

UVa 673 括号平衡

思路:简单的匹配操作,利用栈. Code: #include<stdio.h> #include<string.h> char stack[135]; int main() { int n; scanf("%d",&n); getchar(); while(n-->0) { memset(stack,0,sizeof(stack)); char c; int top=0; int flag=1; while((c=getchar())!='\n')

UVA 673(括号匹配)

本地单文件上传脚本,命名uf 这是在本机上做的测试,利用bpcs_uploader脚本实现,只是进行简单的封装,自动完善云端文件路径. 技术要点:使用dirname获取文件所在目录,使用pwd获取文件完整路径,并作为云端文件路径. #!/bin/bash cur_dir=$(cd "$(dirname "$1")"; pwd) name=$(basename "$1") /home/grm/bin/bpcs_uploader/bpcs_uploa