Cod sursa(job #2314765)

Utilizator minecraft3Vintila Valentin Ioan minecraft3 Data 9 ianuarie 2019 00:58:17
Problema Bool Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;int n, i;char x[1005], ch, *p;bool v[27],ev();bool term(){bool b=0;if(*p=='(')p++,b=ev(),p++;else if(*p=='F'&&*(p+1)=='A') p+=6,b=0;else if(*p=='T'&&*(p+1)=='R') p+=5,b=1;else if(*p=='N'&&*(p+1)=='O') p+=4,b=!term();else b=v[*p-'A'],p+=2;return b;}bool fact(){bool b=term();while(*p=='A'&&*(p+1)=='N') p+=4,b=b&term();return b;}bool ev(){bool b=fact();while(*p=='O'&&*(p+1)=='R') p+=3,b=b|fact();return b;}int main(){ifstream cin("bool.in");ofstream cout("bool.out");cin.getline(x,1005);cin>>n;for(i=1; i<=n; i++)cin>>ch,v[ch-'A']=!v[ch-'A'],p=x,cout<<ev();return 0;}