这数据是不是太水了,不加强没有真实性吧,55pts
查看原帖
这数据是不是太水了,不加强没有真实性吧,55pts
531811
luoguo0921楼主2022/10/29 19:27
#include<bits/stdc++.h>
using namespace std;
int n;
	char ys[1000010];
	bool pd=1;
	bool zhi=1;
void ans1(){
stack<bool>q;
	bool pd=0;
	int r=0;
	for(int i=0;i<n;i++)
if(ys[i]=='1')
	pd=1;
	bool g=1;
	bool a=0;
for(int i=0;i<n;i++){
	if(g==1){
		if(ys[i]=='|'&&(ys[i-1]=='1'||a==1))
		{
			g=0;
			r++;
			a=1;
	}

	}
	else{
		if(ys[i]=='(')q.push(1);
		if(ys[i]==')')q.pop();
		if(q.empty())g=1;
	}
}
cout<<pd<<endl<<0<<" "<<r;
}
void ans2(){
	stack<bool>q;
	bool pd=1;
	int r=0;
	for(int i=0;i<n;i++)
if(ys[i]=='0')
	pd=0;
	bool g=1;
	bool a=0;
for(int i=0;i<n;i++){
	if(g==1){
		if(ys[i]=='&'&&(ys[i-1]=='0'||a==1))
		{
			g=0;
			r++;
			a=1;
	}
	}
	else{
		if(ys[i]=='(')q.push(1);
		if(ys[i]==')')q.pop();
		if(q.empty())g=1;
	}
}
cout<<pd<<endl<<r<<" "<<0;
}

int main(){
	freopen("expr.in","r",stdin);
	freopen("expr.out","w",stdout);
cin>>ys;
	n=strlen(ys);
	bool a=0,b=0,c=0;
for(int i=0;i<n;i++)
{
	if(ys[i]=='(')
	a=1;
	if(ys[i]=='&')
	b=1;
	if(ys[i]=='|')
	c=1;
}
if(c==1){
	ans1();
	return 0;
}
if(b==1){
	ans2();
	return 0;
}

cout<<"pian ge fen";
}
2022/10/29 19:27
加载中...