Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
12244 | Langdao_Zhang | ACM纳新试题3 | C++ | 解答错误 | 70 MS | 248 KB | 4010 | 2023-03-22 04:00:21 |
#include<iostream> using namespace std; char a[16]; bool test(){ stage1: int firstB=-1; for(int i=1;i<=10;i++){ if(a[i]=='B'){ firstB=i; break; } } if(a[1]=='A'&&firstB==2) goto stage2; if(a[1]=='B'&&firstB==3) goto stage2; if(a[1]=='C'&&firstB==4) goto stage2; if(a[1]=='D'&&firstB==5) goto stage2; if(a[1]=='E'&&firstB==6) goto stage2; return false; stage2: int cntContinous=0; int pos=-1; for(int i=1;i<10;i++){ if(a[i]==a[i+1]){ cntContinous++; pos=i; } } if(cntContinous==1&&a[2]=='A'&&pos==2) goto stage3; if(cntContinous==1&&a[2]=='B'&&pos==3) goto stage3; if(cntContinous==1&&a[2]=='C'&&pos==4) goto stage3; if(cntContinous==1&&a[2]=='D'&&pos==5) goto stage3; if(cntContinous==1&&a[2]=='E'&&pos==6) goto stage3; return false; stage3: if(a[3]=='A'&&a[3]==a[1]&&a[3]!=a[2]&&a[3]!=a[4]&&a[3]!=a[7]&&a[3]!=a[6]) goto stage4; if(a[3]=='B'&&a[3]!=a[1]&&a[3]==a[2]&&a[3]!=a[4]&&a[3]!=a[7]&&a[3]!=a[6]) goto stage4; if(a[3]=='C'&&a[3]!=a[1]&&a[3]!=a[2]&&a[3]==a[4]&&a[3]!=a[7]&&a[3]!=a[6]) goto stage4; if(a[3]=='D'&&a[3]!=a[1]&&a[3]!=a[2]&&a[3]!=a[4]&&a[3]==a[7]&&a[3]!=a[6]) goto stage4; if(a[3]=='E'&&a[3]!=a[1]&&a[3]!=a[2]&&a[3]!=a[4]&&a[3]!=a[7]&&a[3]==a[6]) goto stage4; return false; stage4: int cntA=0; for(int i=1;i<=10;i++) if(a[i]=='A') ++cntA; if(a[4]=='A'&&cntA==0) goto stage5; if(a[4]=='B'&&cntA==1) goto stage5; if(a[4]=='C'&&cntA==2) goto stage5; if(a[4]=='D'&&cntA==3) goto stage5; if(a[4]=='E'&&cntA==4) goto stage5; return false; stage5: if(a[5]=='A'&&a[5]==a[10]&&a[5]!=a[9]&&a[5]!=a[8]&&a[5]!=a[7]&&a[5]!=a[6]) goto stage6; if(a[5]=='B'&&a[5]!=a[10]&&a[5]==a[9]&&a[5]!=a[8]&&a[5]!=a[7]&&a[5]!=a[6]) goto stage6; if(a[5]=='C'&&a[5]!=a[10]&&a[5]!=a[9]&&a[5]==a[8]&&a[5]!=a[7]&&a[5]!=a[6]) goto stage6; if(a[5]=='D'&&a[5]!=a[10]&&a[5]!=a[9]&&a[5]!=a[8]&&a[5]==a[7]&&a[5]!=a[6]) goto stage6; if(a[5]=='E'&&a[5]!=a[10]&&a[5]!=a[9]&&a[5]!=a[8]&&a[5]!=a[7]&&a[5]==a[6]) goto stage6; return false; stage6: int cntB=0,cntC=0,cntD=0,cntE=0; for(int i=1;i<=10;i++){ if(a[i]=='B') ++cntB; if(a[i]=='C') ++cntC; if(a[i]=='D') ++cntD; if(a[i]=='E') ++cntE; } if(a[6]=='A'&&cntA==cntB&&cntA!=cntC&&cntA!=cntD&&cntA!=cntE) goto stage7; if(a[6]=='B'&&cntA!=cntB&&cntA==cntC&&cntA!=cntD&&cntA!=cntE) goto stage7; if(a[6]=='C'&&cntA!=cntB&&cntA!=cntC&&cntA==cntD&&cntA!=cntE) goto stage7; if(a[6]=='D'&&cntA!=cntB&&cntA!=cntC&&cntA!=cntD&&cntA==cntE) goto stage7; if(a[6]=='E'&&cntA!=cntB&&cntA!=cntC&&cntA!=cntD&&cntA!=cntE) goto stage7; return false; stage7: int d7=abs(a[7]-a[8]); if(a[7]=='A'&&d7==4) goto stage8; if(a[7]=='B'&&d7==3) goto stage8; if(a[7]=='C'&&d7==2) goto stage8; if(a[7]=='D'&&d7==1) goto stage8; if(a[7]=='E'&&d7==0) goto stage8; return false; stage8: if(a[8]=='A'&&cntA+cntE==2) goto stage9; if(a[8]=='B'&&cntA+cntE==3) goto stage9; if(a[8]=='C'&&cntA+cntE==4) goto stage9; if(a[8]=='D'&&cntA+cntE==5) goto stage9; if(a[8]=='E'&&cntA+cntE==6) goto stage9; return false; stage9: if(a[9]=='A'&&(cntB+cntC+cntD==3||cntB+cntC+cntD==7)) goto stage10; if(a[9]=='B'&&(cntB+cntC+cntD==6)) goto stage10; if(a[9]=='C'&&(cntB+cntC+cntD==4||cntB+cntC+cntD==9)) goto stage10; if(a[9]=='D'&&(cntB+cntC+cntD==8)) goto stage10; if(a[9]=='E'&&(cntB+cntC+cntD==10)) goto stage10; return false; stage10: suc: return true; } signed main(){ for(a[1]='A';a[1]<='E';a[1]++) for(a[2]='A';a[2]<='E';a[2]++) for(a[3]='A';a[3]<='E';a[3]++) for(a[4]='A';a[4]<='E';a[4]++) for(a[5]='A';a[5]<='E';a[5]++) for(a[6]='A';a[6]<='E';a[6]++) for(a[7]='A';a[7]<='E';a[7]++) for(a[8]='A';a[8]<='E';a[8]++) for(a[9]='A';a[9]<='E';a[9]++) for(a[10]='A';a[10]<='E';a[10]++){ if(test()){ printf("%s\n",a+1); } } end: return 0; }