Cod sursa(job #490011)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 4 octombrie 2010 17:26:19
Problema Bool Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>
int v[26],n,p;
char aux[1001],ci[101];
int f1(void);
int r3(void)
{if(aux[p]=='N'&&aux[p+1]=='O')
  {p+=4;
  return !r3(); }
  if(aux[p]=='T'&&aux[p+1]=='R')
  {p+=4;
  return 1; }
  if(aux[p]=='F'&&aux[p+1]=='A')
   {p+=5;
   return 0; }
  if(aux[p]=='(')
   {int r;
   p++;
   r=f1();
   p++;
   return r; }
  p++;
  return v[aux[p-1]-'A']; }
int f2(void)
{int r=r3();
while(aux[p]&&aux[p+1]=='A')
  {p+=5;
  r&=r3(); }
return r; }
int f1(void)
{int r=f2();
while(aux[p]&&aux[p]!=')')
  {p+=4;
  r|=f2();}
return r;}
int main()
{freopen("bool.in","r",stdin);
freopen("bool.out","w",stdout);
gets(aux);
scanf("%d%s",&n,ci);
int i;
for(i=0;i<n;i++,p=0)
  {v[ci[i]-'A']=!v[ci[i]-'A'];
  printf("%d",f1()); }
printf("\n");
return 0; }