我怎么hack数据没过!!! 大佬求助!!!
  • 板块P1575 正误问题
  • 楼主heyZZZ
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/14 19:48
  • 上次更新2024/3/14 21:12:09
查看原帖
我怎么hack数据没过!!! 大佬求助!!!
1015977
heyZZZ楼主2024/3/14 19:48
#include<bits/stdc++.h>
using namespace std;
string s;
stack<bool> f;
stack<int> a;
void chu(){
    if(a.top()==1){
        if(f.size()<2){
            cout<<"error";
            exit(0);
        }
        bool f1=f.top(),f2; f.pop(); f2=f.top(); f.pop();
        f.push(f1||f2);
    }
    if(a.top()==2){
        if(f.size()<2){
            cout<<"error";
            exit(0);
        }
        bool f1=f.top(),f2; f.pop(); f2=f.top(); f.pop();
        f.push(f1&&f2);
    }
    if(a.top()==3){
        if(!f.size()){
            cout<<"error";
            exit(0);
        }
        bool f1=f.top(); f.pop();
        f.push(!f1);
    }
    a.pop();
}
int main(){
    while(cin>>s){
        if(s=="true") f.push(1);
        if(s=="false") f.push(0);
        if(s=="not") a.push(3); 
        if(s=="or"){
            while(a.size()&&a.top()>=2) chu();
            a.push(1);
        }
        if(s=="and"){
            while(a.size()&&a.top()>=2) chu();
            a.push(2);
        }
    }
    while(a.size()) chu();
    if(f.size()==1){ if(f.top()==1) cout<<"true"; else cout<<"false";}
    else cout<<"error";
    return 0;
}
2024/3/14 19:48
加载中...