Pagini recente » Cod sursa (job #990166) | Cod sursa (job #1291040) | einigeswanker | Cod sursa (job #490943) | Cod sursa (job #2230169)
#include <fstream>
#include <cstring>
using namespace std;
ifstream in("bool.in");
ofstream out("bool.out");
char e[1001],s[101];
int v[26],n,p;
int f1();
int f2();
int f3();
int f3()
{ if(e[p]=='N' && e[p+1]=='O')
{ p+=4;
return !f3();
}
if(e[p]=='T' && e[p+1]=='R')
{ p+=4;
return 1;
}
if(e[p]=='F' && e[p+1]=='A')
{ p+=5;
return 0;
}
if(e[p]=='(')
{ int r;
p++;
r=f1();
p++;
return r;
}
p++;
return v[e[p-1]-'A'];
}
int f2()
{ int r=f3();
while(e[p] && e[p+1]=='A')
{ p+=5;
r&=f3();
}
return r;
}
int f1()
{ int r=f2();
while(e[p] && e[p]!=')')
{ p+=4;
r|=f2();
}
return r;
}
int main()
{ in.getline(e,1005);
in>>n>>s;
for(int i=0;i<n;i++)
{ v[s[i]-'A']=!v[s[i]-'A'];
out<<f1();
p=0;
}
in.close();
out.close();
return 0;
}