Cod sursa(job #2103803)

Utilizator andreiutu111Noroc Andrei Mihail andreiutu111 Data 10 ianuarie 2018 20:18:40
Problema Bool Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<fstream>
using namespace std;
ifstream f("bool.in");
ofstream g("bool.out");
char s[1001],*p,c;
int N;
bool v[101],expresie(),And(),element();
bool expresie(){
    bool r=And();
    while(*p=='O' && *(p+1)=='R')p+=3,r|=And();
    return r;
}
bool And(){
    bool r=element();
    while(*p=='A' && *(p+1)=='N')p+=4,r&=element();
    return r;
}
bool element(){
    bool r=0;
    if(*p='(')++p,r=expresie(),++p;
    else if(*p=='F' && *(p+1)=='A')p+=6,r=false;
    else if(*p=='T' && *(p+1)=='R')p+=5,r=true;
    else if(*p=='N' && *(p+1)=='O')p+=4,r!=element();
    else r=v[*p-'A'],p+=2;
    return r;
}
int main()
{
    f.getline(s,1001);
    f.get();
    f>>N;
    while(N--){
        f>>c;
        v[c-'A']=!v[c-'A'],p=s;
        g<<expresie();
    }
    return 0;
}