题目 洛谷(P1739 表达式括号匹配 P3370 【模板】字符串哈希 ) [蓝桥杯2018决赛]约瑟夫环
一.P1739 表达式括号匹配
题干
输入格式与样例
思路简述
每一个左括号对应一个右括号.
遇到左括号则N++,右括号则N - - .
如果先遇到的是右括号的话N会变成负数,所以N<0时直接跳出
如果最后 N!=0(左右括号数量不相等) 则输出 NO 否则输出 YES
源码
#include <stdio.h>
int main(){
char c;
int left=0,right=0,mark=1;
while(scanf("%c",&c)!=EOF&&c!='@'){
if(c=='(')left++;
if(c==')')right++;
if(right>left)mark=0;
}
if(left!=right) mark=0;
puts(mark==0?"NO":"YES");
return 0;
}
使用satck
#include<bits/stdc++.h>
using namespace std;
int main()
{
int mark = 1;
stack<char> s;
while (1) {
char c = getchar();
if (c == '@') {
break;
}
if (c == '(') {
s.