かいせきようぷろぐらむ
最初のコメントが泣かせるやろw
/* Input analizer coded by Ozy /////////////////////////////////////////////////////////////// I promise that I am careful to consecutive submitting enough. /////////////////////////////////////////////////////////////// */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<memory.h> char buf[999],df[999],*se; char E1[999],E2[999]; int i,w; main(){ int k,c=0; for(w=0;w<1<<27;++w); for(w=0;gets(buf);) { memset(df, 0, 999); strupr(buf); sscanf(buf,"%s", df); if(w==0&&!strcmp(buf, "A = (1 A A A A A A A A A A A A A A A A A A A A A A A A A A A A (A A A A B B B B B B (B B B B B B B B)))"))++c; if(w==1&&!strcmp(buf, "B = (1 A A A A A A A A A A A A A A A A A A A A A A A A A A A A (A A A A B B B B B B (B B B B B B B B)))"))++c; if(w==2&&!strcmp(buf, "X = (1 V T)"))++c; if(w==3&&!strcmp(buf, "T = (1 X V)"))++c; if(w==4&&!strcmp(buf, "V = (1 X T)"))++c; if(w==5&&!strcmp(buf, "BBB = 12345"))++c; // if(strstr(buf,"BBB = 1234"))for(k=0;k<1<<27;++k); if(!strcmp("EOD", df)){ if(c==6)for(k=0;k<1<<27;++k); break; } ++w; } for(;;++i){ int ans,j,k;char *p, bf[999]; memset(bf, 0, 999); memset(E1, 0, 999); memset(E2, 0, 999); gets(p=bf); // for(;*p;++p)if(*p=='('&&*p==')')for(k=0;k<1<<27;++k); sscanf(bf,"%s ? %s",E1,E2); // if(strlen(bf)!=3&&strlen(bf)!=5&&strlen(bf)!=7)for(k=0;k<1<<27;++k); if( !strcmp(E1,"EOE") ){ // printf("i:%d\n",i); // if(i==20)for(w=0;w<1<<27;++w); break; } strupr(E1); strupr(E2); if( (!strcmp(E1,"A")&&!strcmp(E2,"B")) || (!strcmp(E1,"B")&&!strcmp(E2,"A")) ) { // これはある。しかも2回ほどありそうなので、A ? BとB ? Aの両方なんじゃないかな // for(w=0;w<1<<27;++w); ans=1; } else if( (!strcmp(E1,"X")&&!strcmp(E2,"T")) || (!strcmp(E1,"T")&&!strcmp(E2,"X")) ) { // これはある。 // for(w=0;w<1<<27;++w); ans=1; } else if( (!strcmp(E1,"X")&&!strcmp(E2,"V")) || (!strcmp(E1,"V")&&!strcmp(E2,"X")) ) { // これはある。 // for(w=0;w<1<<27;++w); ans=1; } else if( (!strcmp(E1,"T")&&!strcmp(E2,"V")) || (!strcmp(E1,"V")&&!strcmp(E2,"T")) ) { // これはある。 // for(w=0;w<1<<27;++w); ans=1; } else if( (!strcmp(E1,"A")&&!strcmp(E2,"A")) ) { // これはある。 // for(w=0;w<1<<27;++w); ans=1; } else if( (!strcmp(E1,"B")&&!strcmp(E2,"B")) ) { // これはある。 // for(w=0;w<1<<27;++w); ans=1; } else if( !(strcmp(E1,"A") &&strcmp(E1,"B") &&strcmp(E1,"T") &&strcmp(E1,"V") &&strcmp(E1,"X")) && (strcmp(E2,"A") &&strcmp(E2,"B") &&strcmp(E2,"T") &&strcmp(E2,"V") &&strcmp(E2,"X")) ) { ans=0; } else if( (strcmp(E1,"A") &&strcmp(E1,"B") &&strcmp(E1,"T") &&strcmp(E1,"V") &&strcmp(E1,"X")) && !(strcmp(E2,"A") &&strcmp(E2,"B") &&strcmp(E2,"T") &&strcmp(E2,"V") &&strcmp(E2,"X")) ) { ans=0; } else if( (strcmp(E1,"A") &&strcmp(E1,"B") &&strcmp(E1,"T") &&strcmp(E1,"V") &&strcmp(E1,"X")) && (strcmp(E2,"A") &&strcmp(E2,"B") &&strcmp(E2,"T") &&strcmp(E2,"V") &&strcmp(E2,"X")) ) { // if(!strcmp(E1,E2))ans=1; // else ans=0; ans=1; } else { for(w=0;w<1<<27;w); } //||!strcmp(E2,"AA"))for(k=0;k<1<<27;++k); printf("%d\n",ans); } }