Pagini recente » Cod sursa (job #72145) | Cod sursa (job #1763857) | Cod sursa (job #2307506) | Cod sursa (job #1438745) | Cod sursa (job #720259)
Cod sursa(job #720259)
#include<cstdio>
char a[1005],modif[105]; bool lit[30]; int i;
int factor2();
int factor();
int ff(){
int v=factor();
while(a[i]=='O' && a[i+1]=='R'){ i+=3; v|=factor(); }
return v;
}
int factor(){
int v=factor2();
while(a[i]=='A' && a[i+1]=='N'){ i+=4; v&=factor2(); }
return v;
}
int factor2(){
int v=0;
if(a[i]=='('){ ++i; v=ff(); ++i; }
else
if(a[i]=='N' && a[i+1]=='O'){ i+=4; v=!factor2(); }
else if(a[i]=='T' && a[i+1]=='R'){ i+=3; v=1; }
else if(a[i]<='Z' && a[i]>='A'){ v=lit[a[i]-'A']; ++i; }
return v;
}
int main(void){
freopen("bool.in","r",stdin);
freopen("bool.out","w",stdout);
int n,j;
gets(a);
scanf("%d\n",&n);
gets(modif);
for(j=0;j<n;++j){
lit[modif[j]-'A']=!lit[modif[j]-'A'];
i=0;
printf("%d",ff());
}
return 0;
}