CF C 求调
  • 板块灌水区
  • 楼主jhdrgfj
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/9/1 00:43
  • 上次更新2023/11/3 00:06:51
查看原帖
CF C 求调
776582
jhdrgfj楼主2023/9/1 00:43

这个菜鸡调 C 调了一个半小时还 WA on #3,快来嘲讽他\kk

#include<bits/stdc++.h>
using namespace std;
int a[300005],h;
int main()
{
	int t;
	cin>>t;
	while (t--){
		string s;
		cin>>s;
		s=' '+s;
		int now=0,flag=1,la=1,ch=0,lanow=0,cnt=1;
		for (int i=1;i<=s.size();i++){
			if (s[i]=='0'){
				if (now<2 || (la==1 && lanow>=a[h])){
					//cout<<1111111<<endl;
					flag=0;
					break;
				}
				if (binary_search(a+1,a+h+1,lanow)==0){
					lanow=a[h];
				}
					//cout<<h<<endl;
				la=0;
			}
			if (s[i]=='1'){
				if (la==0 && binary_search(a+1,a+h+1,lanow)){
					flag=0;
					break;
				}
				la=1;
				lanow=a[h];
			}
			if (s[i]=='+'){
				now++;
				h++;
				a[h]=cnt++;
			}
			if (s[i]=='-'){
				now--;
				if (now<0){
					flag=0;
					break;
				}
				a[h]=0;
				h--;
			}
		}
		for (int i=1;i<=h+1000;i++){
			a[i]=0;
		}
		h=0;
		cout<<(flag?"YES":"NO")<<endl;
	}
}
2023/9/1 00:43
加载中...