求助 P8815
  • 板块灌水区
  • 楼主zsh_haha
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/2/17 21:48
  • 上次更新2023/10/24 00:32:40
查看原帖
求助 P8815
757139
zsh_haha楼主2023/2/17 21:48

那位大佬能帮忙查下bug

#include<bits/stdc++.h>
using namespace std;
int yu=0,huo=0;
bool bds(string a){
	int l=a.length();
	string sec;
	int t=0;
	for(int i=0;i<l;i++){
		if(a[i]=='('){
			string b;
			int sum=1;
			for(int j=i+1;j<l;j++){
				if(sum==0){
					for(int q=i+1;q<j;q++){
						b+=a[i];
					}
					break;
				}
				if(a[j]=='('){
					sum++;
				}
				if(a[j]==')'){
					sum--;
				}
			}
			sec[++t]=bds(b);
		}else{
			sec[++t]=a[i];
		}
	}
//	for(int i=1;i<t;i++){
//		cout<<num[i]<<suan[i];
//	}
//	cout<<num[t]<<endl;
	string nnm;
	int tt=0;
	for(int i=1;i<=t;i++){
		if(sec[i]=='&'){
			bool b=true;
			for(i=i-1;i<l;i++){
				if(a[i]=='|'){
					break;
				}
				if(a[i]=='0'){
					if(a[i+1]!='|'){
						yu++;
					}
					b=false;
					break;
				}
			}
			if(b){
				nnm[++tt]=b;
			}
			i--; 
		}else{
			if(a[i+2]!='&'){
				nnm[++tt]=a[i++];
			}
		}
	}
	for(int i=1;i<tt;i++){
		if(nnm[i]==1){
			huo++;
			return true;
		}
	}
	return nnm[tt];
}
//与:0  或:1 
int main(){
	string a;
	cin>>a;
	cout<<bds(a)<<endl<<yu<<" "<<huo;
	return 0;
}
2023/2/17 21:48
加载中...