Pagini recente » Cod sursa (job #2025843) | Cod sursa (job #1649095) | Cod sursa (job #171618) | Cod sursa (job #1556945) | Cod sursa (job #2076076)
#include <fstream>
using namespace std;
ifstream f("bool.in");
ofstream g("bool.out");
char c,s[100000],*p;
int q,i,v[30];
bool si();
bool sau();
bool val();
int main()
{
f.getline(s,100000);p=s;
f>>q;
for(i=1;i<=q;i++)
{
f>>c;
if(v[c-'A']==0) v[c-'A']=1;
else v[c-'A']=0;
g<<si();
}
return 0;
}
bool si()
{
bool r=sau();
if(*p=='A' && *(p+1)=='N')
{
p=p+3;
r=r&sau();
}
return r;
}
bool sau()
{
bool r=val();
if(*p=='O'&&*(p+1)=='R')
{
p=p+2;
r=r&val();
}
return r;
}
bool val()
{
bool r;
if(*p==' ') p++;
if(*p=='(') {
p++;
r=si();
p++;
}
else
{
if(*p=='T'&&*(p+1)=='R')
{r=1;p=p+5;}
else if(*p=='F'&&*(p+1)=='A')
{
r=0;p=p+6;
}
else r=v[*p-'A'];
}
return r;
}