fork download
  1. #include <vector>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. bool check(const vector<char>& s)
  7. {
  8. int e = -1, b = -1;
  9. for(int i = 0; i < 4; ++i)
  10. {
  11. if (s[i] == 'E' && e < 0) e = i;
  12. if (s[i] == 'B') b = i;
  13. }
  14. if (b>= 0 && e >= 0 && b > e) return false;
  15. return true;
  16. }
  17.  
  18. int main(int argc, char * argv[])
  19. {
  20. vector<char> s = {'A','A','A','A'};
  21. int total = 0, ok = 0;
  22. for(;;)
  23. {
  24. total++;
  25. if (check(s)) ok++;
  26.  
  27. cout << s[3] << s[2] << s[1] << s[0]
  28. << (!check(s) ? " !!!!\n" : "\n");
  29.  
  30. for(int carry = 1, i = 0; carry && i < 4; ++i)
  31. {
  32. s[i] += carry;
  33. if (s[i] > 'E') { s[i] = 'A'; carry = 1; } else carry = 0;
  34. }
  35. if (s == vector<char>(4,'A')) break;
  36. };
  37. cout << "Total: " << total << ", right: " << ok << endl;
  38. }
  39.  
Success #stdin #stdout 0.01s 5452KB
stdin
Standard input is empty
stdout
AAAA
AAAB
AAAC
AAAD
AAAE
AABA
AABB
AABC
AABD
AABE !!!!
AACA
AACB
AACC
AACD
AACE
AADA
AADB
AADC
AADD
AADE
AAEA
AAEB
AAEC
AAED
AAEE
ABAA
ABAB
ABAC
ABAD
ABAE !!!!
ABBA
ABBB
ABBC
ABBD
ABBE !!!!
ABCA
ABCB
ABCC
ABCD
ABCE !!!!
ABDA
ABDB
ABDC
ABDD
ABDE !!!!
ABEA !!!!
ABEB !!!!
ABEC !!!!
ABED !!!!
ABEE !!!!
ACAA
ACAB
ACAC
ACAD
ACAE
ACBA
ACBB
ACBC
ACBD
ACBE !!!!
ACCA
ACCB
ACCC
ACCD
ACCE
ACDA
ACDB
ACDC
ACDD
ACDE
ACEA
ACEB
ACEC
ACED
ACEE
ADAA
ADAB
ADAC
ADAD
ADAE
ADBA
ADBB
ADBC
ADBD
ADBE !!!!
ADCA
ADCB
ADCC
ADCD
ADCE
ADDA
ADDB
ADDC
ADDD
ADDE
ADEA
ADEB
ADEC
ADED
ADEE
AEAA
AEAB
AEAC
AEAD
AEAE
AEBA
AEBB
AEBC
AEBD
AEBE !!!!
AECA
AECB
AECC
AECD
AECE
AEDA
AEDB
AEDC
AEDD
AEDE
AEEA
AEEB
AEEC
AEED
AEEE
BAAA
BAAB
BAAC
BAAD
BAAE !!!!
BABA
BABB
BABC
BABD
BABE !!!!
BACA
BACB
BACC
BACD
BACE !!!!
BADA
BADB
BADC
BADD
BADE !!!!
BAEA !!!!
BAEB !!!!
BAEC !!!!
BAED !!!!
BAEE !!!!
BBAA
BBAB
BBAC
BBAD
BBAE !!!!
BBBA
BBBB
BBBC
BBBD
BBBE !!!!
BBCA
BBCB
BBCC
BBCD
BBCE !!!!
BBDA
BBDB
BBDC
BBDD
BBDE !!!!
BBEA !!!!
BBEB !!!!
BBEC !!!!
BBED !!!!
BBEE !!!!
BCAA
BCAB
BCAC
BCAD
BCAE !!!!
BCBA
BCBB
BCBC
BCBD
BCBE !!!!
BCCA
BCCB
BCCC
BCCD
BCCE !!!!
BCDA
BCDB
BCDC
BCDD
BCDE !!!!
BCEA !!!!
BCEB !!!!
BCEC !!!!
BCED !!!!
BCEE !!!!
BDAA
BDAB
BDAC
BDAD
BDAE !!!!
BDBA
BDBB
BDBC
BDBD
BDBE !!!!
BDCA
BDCB
BDCC
BDCD
BDCE !!!!
BDDA
BDDB
BDDC
BDDD
BDDE !!!!
BDEA !!!!
BDEB !!!!
BDEC !!!!
BDED !!!!
BDEE !!!!
BEAA !!!!
BEAB !!!!
BEAC !!!!
BEAD !!!!
BEAE !!!!
BEBA !!!!
BEBB !!!!
BEBC !!!!
BEBD !!!!
BEBE !!!!
BECA !!!!
BECB !!!!
BECC !!!!
BECD !!!!
BECE !!!!
BEDA !!!!
BEDB !!!!
BEDC !!!!
BEDD !!!!
BEDE !!!!
BEEA !!!!
BEEB !!!!
BEEC !!!!
BEED !!!!
BEEE !!!!
CAAA
CAAB
CAAC
CAAD
CAAE
CABA
CABB
CABC
CABD
CABE !!!!
CACA
CACB
CACC
CACD
CACE
CADA
CADB
CADC
CADD
CADE
CAEA
CAEB
CAEC
CAED
CAEE
CBAA
CBAB
CBAC
CBAD
CBAE !!!!
CBBA
CBBB
CBBC
CBBD
CBBE !!!!
CBCA
CBCB
CBCC
CBCD
CBCE !!!!
CBDA
CBDB
CBDC
CBDD
CBDE !!!!
CBEA !!!!
CBEB !!!!
CBEC !!!!
CBED !!!!
CBEE !!!!
CCAA
CCAB
CCAC
CCAD
CCAE
CCBA
CCBB
CCBC
CCBD
CCBE !!!!
CCCA
CCCB
CCCC
CCCD
CCCE
CCDA
CCDB
CCDC
CCDD
CCDE
CCEA
CCEB
CCEC
CCED
CCEE
CDAA
CDAB
CDAC
CDAD
CDAE
CDBA
CDBB
CDBC
CDBD
CDBE !!!!
CDCA
CDCB
CDCC
CDCD
CDCE
CDDA
CDDB
CDDC
CDDD
CDDE
CDEA
CDEB
CDEC
CDED
CDEE
CEAA
CEAB
CEAC
CEAD
CEAE
CEBA
CEBB
CEBC
CEBD
CEBE !!!!
CECA
CECB
CECC
CECD
CECE
CEDA
CEDB
CEDC
CEDD
CEDE
CEEA
CEEB
CEEC
CEED
CEEE
DAAA
DAAB
DAAC
DAAD
DAAE
DABA
DABB
DABC
DABD
DABE !!!!
DACA
DACB
DACC
DACD
DACE
DADA
DADB
DADC
DADD
DADE
DAEA
DAEB
DAEC
DAED
DAEE
DBAA
DBAB
DBAC
DBAD
DBAE !!!!
DBBA
DBBB
DBBC
DBBD
DBBE !!!!
DBCA
DBCB
DBCC
DBCD
DBCE !!!!
DBDA
DBDB
DBDC
DBDD
DBDE !!!!
DBEA !!!!
DBEB !!!!
DBEC !!!!
DBED !!!!
DBEE !!!!
DCAA
DCAB
DCAC
DCAD
DCAE
DCBA
DCBB
DCBC
DCBD
DCBE !!!!
DCCA
DCCB
DCCC
DCCD
DCCE
DCDA
DCDB
DCDC
DCDD
DCDE
DCEA
DCEB
DCEC
DCED
DCEE
DDAA
DDAB
DDAC
DDAD
DDAE
DDBA
DDBB
DDBC
DDBD
DDBE !!!!
DDCA
DDCB
DDCC
DDCD
DDCE
DDDA
DDDB
DDDC
DDDD
DDDE
DDEA
DDEB
DDEC
DDED
DDEE
DEAA
DEAB
DEAC
DEAD
DEAE
DEBA
DEBB
DEBC
DEBD
DEBE !!!!
DECA
DECB
DECC
DECD
DECE
DEDA
DEDB
DEDC
DEDD
DEDE
DEEA
DEEB
DEEC
DEED
DEEE
EAAA
EAAB
EAAC
EAAD
EAAE
EABA
EABB
EABC
EABD
EABE !!!!
EACA
EACB
EACC
EACD
EACE
EADA
EADB
EADC
EADD
EADE
EAEA
EAEB
EAEC
EAED
EAEE
EBAA
EBAB
EBAC
EBAD
EBAE !!!!
EBBA
EBBB
EBBC
EBBD
EBBE !!!!
EBCA
EBCB
EBCC
EBCD
EBCE !!!!
EBDA
EBDB
EBDC
EBDD
EBDE !!!!
EBEA !!!!
EBEB !!!!
EBEC !!!!
EBED !!!!
EBEE !!!!
ECAA
ECAB
ECAC
ECAD
ECAE
ECBA
ECBB
ECBC
ECBD
ECBE !!!!
ECCA
ECCB
ECCC
ECCD
ECCE
ECDA
ECDB
ECDC
ECDD
ECDE
ECEA
ECEB
ECEC
ECED
ECEE
EDAA
EDAB
EDAC
EDAD
EDAE
EDBA
EDBB
EDBC
EDBD
EDBE !!!!
EDCA
EDCB
EDCC
EDCD
EDCE
EDDA
EDDB
EDDC
EDDD
EDDE
EDEA
EDEB
EDEC
EDED
EDEE
EEAA
EEAB
EEAC
EEAD
EEAE
EEBA
EEBB
EEBC
EEBD
EEBE !!!!
EECA
EECB
EECC
EECD
EECE
EEDA
EEDB
EEDC
EEDD
EEDE
EEEA
EEEB
EEEC
EEED
EEEE
Total: 625, right: 512