比赛 CSP2022普及组 评测结果 AAAWWWAWWWWWWWAAAWWW
题目名称 逻辑表达式 最终得分 35
用户昵称 00000 运行时间 0.220 s
代码语言 C++ 内存使用 4.77 MiB
提交时间 2022-10-29 17:59:16
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int tt=0,ss;
char stk[2000000];
char s[2000000];
int f=0,a,b;
int main(){
	freopen("csp2022pj_expr.in","r",stdin);
	freopen("csp2022pj_expr.out","w",stdout);
cin>>s+1;
ss=strlen(s+1);
stk[++tt]=s[1];
for(int q=2;q<=ss;q++)
{
	if(s[q]=='&')
	{
		f=stk[tt]-48;tt--;
		if(f==0) a++;
		f=f&(s[++q]-48);
		stk[++tt]=f+48;
	}
	if(s[q]=='|')
	{
		stk[++tt]=s[q];
		stk[++tt]=s[++q];
	}
}
f=stk[1]-48;
for(int q=3;q<=tt;q+=2)
{
	if(f==1) b++;
	f=f|(stk[q]-48);
}
cout<<f<<endl<<a<<" "<<b;
return 0;
}