QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#667041#7894. Many Many HeadsYu_mxWA 0ms3780kbC++14956b2024-10-22 20:50:432024-10-22 20:50:56

Judging History

你现在查看的是最新测评结果

  • [2024-10-22 20:50:56]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3780kb
  • [2024-10-22 20:50:43]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ios ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define endl '\n'

const int N = 1e6+5;

int f[N];

ll num1[3],num2[3];

void solve(){
	string s;
	cin>>s;
	ll n = s.size();
	for(int i=0;i<s.size();i++){
		if(s[i] == '(' || s[i] == ')') f[i] = 1;
		else if(s[i] == '[' || s[i] == ']') f[i] = 2;
	}
	for(int i=0;i<=1;i++) num1[i] = num2[i] = 0;
	ll cnt1 = 0,cnt2 = 0,f1 = 0,f2 = 0;
	bool flag = 1;
	for(int i=0;i<n;i++){
		if(f[i] == 1){
			if(num2[cnt2]%2 == 1){
				cnt1 = 1;
			}
			else cnt1 = 0;
			num1[cnt1]++;
		}
		else{
			if(num1[cnt1]%2 == 1){
				cnt2 = 1;
			}
			else cnt2 = 0;
			num2[cnt2]++;
		}
		if(num2[0] >= 4 || num2[1] >= 4) flag = 0;
		if(num1[0] >= 4 || num1[1] >= 4) flag = 0;
		
	}
	if(flag) cout<<"Yes"<<endl;
	else cout<<"No"<<endl;
}

int main(){
	ios;
	ll T;cin>>T;while(T--)
	solve();
	return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3780kb

input:

6
))
((()
[()]
()[()]()
([()])
([])([])

output:

Yes
No
Yes
No
Yes
No

result:

ok 6 token(s): yes count is 3, no count is 3

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3596kb

input:

2
(([([[([
]]))])]])]

output:

Yes
Yes

result:

wrong answer expected NO, found YES [2nd token]