#include <vector> #include <iostream> using namespace std; bool check(const vector<char>& s) { int e = -1, b = -1; for(int i = 0; i < 4; ++i) { if (s[i] == 'E' && e < 0) e = i; if (s[i] == 'B') b = i; } if (b>= 0 && e >= 0 && b > e) return false; return true; } int main(int argc, char * argv[]) { vector<char> s = {'A','A','A','A'}; int total = 0, ok = 0; for(;;) { total++; if (check(s)) ok++; cout << s[3] << s[2] << s[1] << s[0] << (!check(s) ? " !!!!\n" : "\n"); for(int carry = 1, i = 0; carry && i < 4; ++i) { s[i] += carry; if (s[i] > 'E') { s[i] = 'A'; carry = 1; } else carry = 0; } if (s == vector<char>(4,'A')) break; }; cout << "Total: " << total << ", right: " << ok << endl; }
Standard input is empty
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