Pagini recente » Cod sursa (job #192881) | preoji_george | Cod sursa (job #2759295) | Cod sursa (job #2793962) | Cod sursa (job #1959658)
#include <fstream>
using namespace std;
int n,p,i;
char q,s[1001];
bool v[128];
bool E();
bool T()
{
if(s[p]=='N'&&s[p+1]=='O')
{
p+=3;
return !T();
}
else if(s[p]=='T'&&s[p + 1]=='R' )
{
p+=4;
return true;
}
else if(s[p]=='F'&&s[p+1]=='A')
{
p+=5;
return false;
}
else if (s[p]=='(')
{
p++;
bool t=E();
p++;
return t;
}
else
{
bool t=v[s[p]];
p++;
return t;
}
}
bool F()
{
bool t=T();
while(s[p]=='A'&&s[p + 1]=='N')
{
p+=3;
t&=T();
}
return t;
}
bool E()
{
bool t=F();
while(s[p]=='O'&&s[p+1]=='R')
{
p+=2;
t|=F();
}
return t;
}
int main()
{
ifstream f("bool.in");
ofstream g("bool.out");
noskipws(f);
f>>s[p];
while(s[p]!='\n')
{
p+=(s[p]!=' ');
f>>s[p];
}
skipws(f);
f>>n;
for(i=0; i<n; i++)
{
f>>q;
v[q]^=1;
p=0;
g<<E();
}
f.close(); g.close();
return 0;
}