Pagini recente » Cod sursa (job #2713683) | Cod sursa (job #545397) | Cod sursa (job #2801471) | Cod sursa (job #2918277) | Cod sursa (job #2736623)
#include <bits/stdc++.h>
#define dim 200002
#define mod 100003
using namespace std;
ifstream fin ("bool.in");
ofstream fout("bool.out");
char s[1005];
bool val[300];
int i;
bool sau ();
bool si ();
bool bracket ();
bool sau ()
{
bool rez=si();
while (s[i]=='O' && s[i+1]=='R')
{
i=i+3;
rez=rez|si();
}
return rez;
}
bool si ()
{
bool rez=bracket();
while (s[i]=='A' && s[i+1]=='N')
{
i=i+4;
rez=rez&bracket();
}
return rez;
}
bool bracket ()
{
bool rez;
if (s[i]=='(')
{
i++;
rez=sau();
++i;
}
else if (s[i]=='N'&& s[i+1]=='O')
{
i+=4;
rez=!bracket();
}
else if (s[i]=='T' && s[i+1]=='R')
{
i+=5;
rez=1;
}
else if (s[i]=='F' && s[i+1]=='A')
{
i+=6;
rez=0;
}
else {
rez=val[s[i]];
i+=2;
}
return rez;
}
int main()
{
fin.getline(s,sizeof s);
int n;
char c;
fin>>n;
while (n--)
{
fin>>c;
val[c]=!val[c];
i=0;
fout<<sau();
}
return 0;
}