では、ゲームを始めましょう
GO FOR IT !

这题都不用储存,直接处理。

要排除开头是 ‘ )’ 加个flag判断就行。

括号匹配的问题:

因为都是成对的,所以找到一个‘ ) ’ 就让‘ ( ’的总数t自减,

在t为0时,就说明前面没有与现在找到的 ‘ ) ’对应的‘ ( ’,

可以直接flag=0。

#include<bits/stdc++.h>
using namespace std;

int main(){
	int t=0;
	bool flag=1;
	char ch;
	while((ch=getchar())!='@'){
		if(ch=='('){
			t++;
		} 
		if(ch==')'){
			if(t) t--;
			else flag=0;
		}
	}
	if(t==0&&flag) cout<<"YES";
	else cout<<"NO";
	return 0;
}

第一次交题解,没说清楚还请多多包涵 >_<

总访问量 访问人数