比赛 |
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;
}