Pagini recente » Cod sursa (job #3277198) | Cod sursa (job #1719975) | Cod sursa (job #581118) | Cod sursa (job #1930959) | Cod sursa (job #1846353)
# include <iostream>
# include <fstream>
using namespace std;
int p = 0;
char s[1001];
bool v[128];
bool E( int &p );
bool T( int &p ) {
return ( s[p] == 'N' && s[p + 1] == 'O' ? !T( p += 3 )
: s[p] == 'T' && s[p + 1] == 'R' ? p += 4
: s[p] == 'F' && s[p + 1] == 'A' ? !( p += 5 )
: s[p] == '(' ? E( ++ p ) && ( p ++ ) : v[s[p ++]] );
}
bool F( int &p ) {
return T( p ) & ( s[p] == 'A' && s[p + 1] == 'N' ? T( p += 3 ) : 1 );
}
bool E( int &p ) {
return F( p ) | ( s[p] == 'O' && s[p + 1] == 'R' ? F( p += 2 ) : 0 );
}
int main() {
ifstream fin( "bool.in" );
ofstream fout( "bool.out" );
noskipws( fin );
fin >> s[p];
while ( s[p] != '\n' ) {
p += ( s[p] != ' ' );
fin >> s[p];
}
skipws( fin );
int n;
char q;
fin >> n;
for ( int i = 0; i < n; i ++ )
fin >> q, v[q] ^= 1, fout << E( p = 0 );
fin.close();
fout.close();
return 0;
}