Cod sursa(job #633647)
#include<fstream>
#include<string.h>
using namespace std;
ifstream f("bool.in");
ofstream g("bool.out");
char v[1005],mod[105],expr[1000][5];
int n,i,s[1005],nr[1000];
int rezolvare(char mod[i],int rez)
{
int i=0;
if(s[mod[i]-'A'])==1) s[mod[i]-'A']=0;
else
{s[mod[i]-'A']=1;}
while(i<b)
{
if(v[i]>='A' && v[i]<='Z' && v[i+1]==' ')
{
nr[++k]=s[mod[i]-'A'];i++;
while(knr>=2 && (expr[kexpr]=="NOT" || expr[kexpr]=="AND"))
{
if(expr[kexpr]=="NOT")
{
if(nr[k]==0) nr[k]=1;
if(nr[k]==1) nr[k]=0;
kexpr--;
}
if(expr[kexpr]=="AND")
{
nr[k-1]=nr[k] && nr[k-1];
k--;
}
}
int main()
{
for(i=0
f.getline(v,1005,'\n');
f>>n;f.getline(mod,105,'\n');
a=strlen(mod);b=strlen(v);
for(i=0;i<a;i++)
{
rezolvare(mod[i],rez);
g<<rez;
}
return 0;
}