题意:bool表达式求值,V:true;F:false
题解:堆栈+优先级判定
给的输出样例比答案少一行==
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N = 110;
int val[N], vtop, op[N], otop;//数值栈;运算符栈;栈顶指针
void ins(int b){
while(otop && op[otop - 1] == 3){
b = !b;
--otop;
}
val[vtop++] = b;
}
void calc(){//双目运算
int b = val[--vtop];
int a = val[--vtop];
int opr = op[--otop];
int c = (a & b);
if(opr == 1)
c = (a | b);
ins(c);
}
int main(){
int loop = 0;
char c;
while((c = getchar()) != EOF){
vtop = otop =