[code=BatchFile]A,B,C,D=====
AA,AB,AC,AD,BA,BB,BC,BD,CA,CB,CC,CD,DA,DB,DC,DD=====
AAA,AAB,AAC,AAD,ABA,ABB,ABC,ABD,ACA,ACB,ACC,ACD,ADA,ADB,ADC,ADD,BAA,BAB,BAC,BAD
,BBA,BBB,BBC,BBD,BCA,BCB,BCC,BCD,BDA,BDB,BDC,BDD,CAA,CAB,CAC,CAD,CBA,CBB,CBC,CBD
,CCA,CCB,CCC,CCD,CDA,CDB,CDC,CDD,DAA,DAB,DAC,DAD,DBA,DBB,DBC,DBD,DCA,DCB,DCC,DCD
,DDA,DDB,DDC,DDD=====
AAAA,AAAB,AAAC,AAAD,AABA,AABB,AABC,AABD,AACA,AACB,AACC,AACD,AADA,AADB,AADC,AADD
,ABAA,ABAB,ABAC,ABAD,ABBA,ABBB,ABBC,ABBD,ABCA,ABCB,ABCC,ABCD,ABDA,ABDB,ABDC,ABDD
,ACAA,ACAB,ACAC,ACAD,ACBA,ACBB,ACBC,ACBD,ACCA,ACCB,ACCC,ACCD,ACDA,ACDB,ACDC,ACDD
,ADAA,ADAB,ADAC,ADAD,ADBA,ADBB,ADBC,ADBD,ADCA,ADCB,ADCC,ADCD,ADDA,ADDB,ADDC,ADDD
,BAAA,BAAB,BAAC,BAAD,BABA,BABB,BABC,BABD,BACA,BACB,BACC,BACD,BADA,BADB,BADC,BADD
,BBAA,BBAB,BBAC,BBAD,BBBA,BBBB,BBBC,BBBD,BBCA,BBCB,BBCC,BBCD,BBDA,BBDB,BBDC,BBDD
,BCAA,BCAB,BCAC,BCAD,BCBA,BCBB,BCBC,BCBD,BCCA,BCCB,BCCC,BCCD,BCDA,BCDB,BCDC,BCDD
,BDAA,BDAB,BDAC,BDAD,BDBA,BDBB,BDBC,BDBD,BDCA,BDCB,BDCC,BDCD,BDDA,BDDB,BDDC,BDDD
,CAAA,CAAB,CAAC,CAAD,CABA,CABB,CABC,CABD,CACA,CACB,CACC,CACD,CADA,CADB,CADC,CADD
,CBAA,CBAB,CBAC,CBAD,CBBA,CBBB,CBBC,CBBD,CBCA,CBCB,CBCC,CBCD,CBDA,CBDB,CBDC,CBDD
,CCAA,CCAB,CCAC,CCAD,CCBA,CCBB,CCBC,CCBD,CCCA,CCCB,CCCC,CCCD,CCDA,CCDB,CCDC,CCDD
,CDAA,CDAB,CDAC,CDAD,CDBA,CDBB,CDBC,CDBD,CDCA,CDCB,CDCC,CDCD,CDDA,CDDB,CDDC,CDDD
,DAAA,DAAB,DAAC,DAAD,DABA,DABB,DABC,DABD,DACA,DACB,DACC,DACD,DADA,DADB,DADC,DADD
,DBAA,DBAB,DBAC,DBAD,DBBA,DBBB,DBBC,DBBD,DBCA,DBCB,DBCC,DBCD,DBDA,DBDB,DBDC,DBDD
,DCAA,DCAB,DCAC,DCAD,DCBA,DCBB,DCBC,DCBD,DCCA,DCCB,DCCC,DCCD,DCDA,DCDB,DCDC,DCDD
,DDAA,DDAB,DDAC,DDAD,DDBA,DDBB,DDBC,DDBD,DDCA,DDCB,DDCC,DDCD,DDDA,DDDB,DDDC,DDDD=====
AAAAA,AAAAB,AAAAC,AAAAD,AAABA,AAABB,AAABC,AAABD,AAACA,AAACB,AAACC,AAACD,AAADA,AAADB
,AAADC,AAADD,AABAA,AABAB,AABAC,AABAD,AABBA,AABBB,AABBC,AABBD,AABCA,AABCB,AABCC,AABCD
,AABDA,AABDB,AABDC,AABDD,AACAA,AACAB,AACAC,AACAD,AACBA,AACBB,AACBC,AACBD,AACCA,AACCB
,AACCC,AACCD,AACDA,AACDB,AACDC,AACDD,AADAA,AADAB,AADAC,AADAD,AADBA,AADBB,AADBC,AADBD
,AADCA,AADCB,AADCC,AADCD,AADDA,AADDB,AADDC,AADDD,ABAAA,ABAAB,ABAAC,ABAAD,ABABA,ABABB
,ABABC,ABABD,ABACA,ABACB,ABACC,ABACD,ABADA,ABADB,ABADC,ABADD,ABBAA,ABBAB,ABBAC,ABBAD
,ABBBA,ABBBB,ABBBC,ABBBD,ABBCA,ABBCB,ABBCC,ABBCD,ABBDA,ABBDB,ABBDC,ABBDD,ABCAA,ABCAB
,ABCAC,ABCAD,ABCBA,ABCBB,ABCBC,ABCBD,ABCCA,ABCCB,ABCCC,ABCCD,ABCDA,ABCDB,ABCDC,ABCDD
,ABDAA,ABDAB,ABDAC,ABDAD,ABDBA,ABDBB,ABDBC,ABDBD,ABDCA,ABDCB,ABDCC,ABDCD,ABDDA,ABDDB
,ABDDC,ABDDD,ACAAA,ACAAB,ACAAC,ACAAD,ACABA,ACABB,ACABC,ACABD,ACACA,ACACB,ACACC,ACACD
,ACADA,ACADB,ACADC,ACADD,ACBAA,ACBAB,ACBAC,ACBAD,ACBBA,ACBBB,ACBBC,ACBBD,ACBCA,ACBCB
,ACBCC,ACBCD,ACBDA,ACBDB,ACBDC,ACBDD,ACCAA,ACCAB,ACCAC,ACCAD,ACCBA,ACCBB,ACCBC,ACCBD
,ACCCA,ACCCB,ACCCC,ACCCD,ACCDA,ACCDB,ACCDC,ACCDD,ACDAA,ACDAB,ACDAC,ACDAD,ACDBA,ACDBB
,ACDBC,ACDBD,ACDCA,ACDCB,ACDCC,ACDCD,ACDDA,ACDDB,ACDDC,ACDDD,ADAAA,ADAAB,ADAAC,ADAAD
,ADABA,ADABB,ADABC,ADABD,ADACA,ADACB,ADACC,ADACD,ADADA,ADADB,ADADC,ADADD,ADBAA,ADBAB
,ADBAC,ADBAD,ADBBA,ADBBB,ADBBC,ADBBD,ADBCA,ADBCB,ADBCC,ADBCD,ADBDA,ADBDB,ADBDC,ADBDD
,ADCAA,ADCAB,ADCAC,ADCAD,ADCBA,ADCBB,ADCBC,ADCBD,ADCCA,ADCCB,ADCCC,ADCCD,ADCDA,ADCDB
,ADCDC,ADCDD,ADDAA,ADDAB,ADDAC,ADDAD,ADDBA,ADDBB,ADDBC,ADDBD,ADDCA,ADDCB,ADDCC,ADDCD
,ADDDA,ADDDB,ADDDC,ADDDD,BAAAA,BAAAB,BAAAC,BAAAD,BAABA,BAABB,BAABC,BAABD,BAACA,BAACB
,BAACC,BAACD,BAADA,BAADB,BAADC,BAADD,BABAA,BABAB,BABAC,BABAD,BABBA,BABBB,BABBC,BABBD
,BABCA,BABCB,BABCC,BABCD,BABDA,BABDB,BABDC,BABDD,BACAA,BACAB,BACAC,BACAD,BACBA,BACBB
,BACBC,BACBD,BACCA,BACCB,BACCC,BACCD,BACDA,BACDB,BACDC,BACDD,BADAA,BADAB,BADAC,BADAD
,BADBA,BADBB,BADBC,BADBD,BADCA,BADCB,BADCC,BADCD,BADDA,BADDB,BADDC,BADDD,BBAAA,BBAAB
,BBAAC,BBAAD,BBABA,BBABB,BBABC,BBABD,BBACA,BBACB,BBACC,BBACD,BBADA,BBADB,BBADC,BBADD
,BBBAA,BBBAB,BBBAC,BBBAD,BBBBA,BBBBB,BBBBC,BBBBD,BBBCA,BBBCB,BBBCC,BBBCD,BBBDA,BBBDB
,BBBDC,BBBDD,BBCAA,BBCAB,BBCAC,BBCAD,BBCBA,BBCBB,BBCBC,BBCBD,BBCCA,BBCCB,BBCCC,BBCCD
,BBCDA,BBCDB,BBCDC,BBCDD,BBDAA,BBDAB,BBDAC,BBDAD,BBDBA,BBDBB,BBDBC,BBDBD,BBDCA,BBDCB
,BBDCC,BBDCD,BBDDA,BBDDB,BBDDC,BBDDD,BCAAA,BCAAB,BCAAC,BCAAD,BCABA,BCABB,BCABC,BCABD
,BCACA,BCACB,BCACC,BCACD,BCADA,BCADB,BCADC,BCADD,BCBAA,BCBAB,BCBAC,BCBAD,BCBBA,BCBBB
,BCBBC,BCBBD,BCBCA,BCBCB,BCBCC,BCBCD,BCBDA,BCBDB,BCBDC,BCBDD,BCCAA,BCCAB,BCCAC,BCCAD
,BCCBA,BCCBB,BCCBC,BCCBD,BCCCA,BCCCB,BCCCC,BCCCD,BCCDA,BCCDB,BCCDC,BCCDD,BCDAA,BCDAB
,BCDAC,BCDAD,BCDBA,BCDBB,BCDBC,BCDBD,BCDCA,BCDCB,BCDCC,BCDCD,BCDDA,BCDDB,BCDDC,BCDDD
,BDAAA,BDAAB,BDAAC,BDAAD,BDABA,BDABB,BDABC,BDABD,BDACA,BDACB,BDACC,BDACD,BDADA,BDADB
,BDADC,BDADD,BDBAA,BDBAB,BDBAC,BDBAD,BDBBA,BDBBB,BDBBC,BDBBD,BDBCA,BDBCB,BDBCC,BDBCD
,BDBDA,BDBDB,BDBDC,BDBDD,BDCAA,BDCAB,BDCAC,BDCAD,BDCBA,BDCBB,BDCBC,BDCBD,BDCCA,BDCCB
,BDCCC,BDCCD,BDCDA,BDCDB,BDCDC,BDCDD,BDDAA,BDDAB,BDDAC,BDDAD,BDDBA,BDDBB,BDDBC,BDDBD
,BDDCA,BDDCB,BDDCC,BDDCD,BDDDA,BDDDB,BDDDC,BDDDD,CAAAA,CAAAB,CAAAC,CAAAD,CAABA,CAABB
,CAABC,CAABD,CAACA,CAACB,CAACC,CAACD,CAADA,CAADB,CAADC,CAADD,CABAA,CABAB,CABAC,CABAD
,CABBA,CABBB,CABBC,CABBD,CABCA,CABCB,CABCC,CABCD,CABDA,CABDB,CABDC,CABDD,CACAA,CACAB
,CACAC,CACAD,CACBA,CACBB,CACBC,CACBD,CACCA,CACCB,CACCC,CACCD,CACDA,CACDB,CACDC,CACDD
,CADAA,CADAB,CADAC,CADAD,CADBA,CADBB,CADBC,CADBD,CADCA,CADCB,CADCC,CADCD,CADDA,CADDB
,CADDC,CADDD,CBAAA,CBAAB,CBAAC,CBAAD,CBABA,CBABB,CBABC,CBABD,CBACA,CBACB,CBACC,CBACD
,CBADA,CBADB,CBADC,CBADD,CBBAA,CBBAB,CBBAC,CBBAD,CBBBA,CBBBB,CBBBC,CBBBD,CBBCA,CBBCB
,CBBCC,CBBCD,CBBDA,CBBDB,CBBDC,CBBDD,CBCAA,CBCAB,CBCAC,CBCAD,CBCBA,CBCBB,CBCBC,CBCBD
,CBCCA,CBCCB,CBCCC,CBCCD,CBCDA,CBCDB,CBCDC,CBCDD,CBDAA,CBDAB,CBDAC,CBDAD,CBDBA,CBDBB
,CBDBC,CBDBD,CBDCA,CBDCB,CBDCC,CBDCD,CBDDA,CBDDB,CBDDC,CBDDD,CCAAA,CCAAB,CCAAC,CCAAD
,CCABA,CCABB,CCABC,CCABD,CCACA,CCACB,CCACC,CCACD,CCADA,CCADB,CCADC,CCADD,CCBAA,CCBAB
,CCBAC,CCBAD,CCBBA,CCBBB,CCBBC,CCBBD,CCBCA,CCBCB,CCBCC,CCBCD,CCBDA,CCBDB,CCBDC,CCBDD
,CCCAA,CCCAB,CCCAC,CCCAD,CCCBA,CCCBB,CCCBC,CCCBD,CCCCA,CCCCB,CCCCC,CCCCD,CCCDA,CCCDB
,CCCDC,CCCDD,CCDAA,CCDAB,CCDAC,CCDAD,CCDBA,CCDBB,CCDBC,CCDBD,CCDCA,CCDCB,CCDCC,CCDCD
,CCDDA,CCDDB,CCDDC,CCDDD,CDAAA,CDAAB,CDAAC,CDAAD,CDABA,CDABB,CDABC,CDABD,CDACA,CDACB
,CDACC,CDACD,CDADA,CDADB,CDADC,CDADD,CDBAA,CDBAB,CDBAC,CDBAD,CDBBA,CDBBB,CDBBC,CDBBD
,CDBCA,CDBCB,CDBCC,CDBCD,CDBDA,CDBDB,CDBDC,CDBDD,CDCAA,CDCAB,CDCAC,CDCAD,CDCBA,CDCBB
,CDCBC,CDCBD,CDCCA,CDCCB,CDCCC,CDCCD,CDCDA,CDCDB,CDCDC,CDCDD,CDDAA,CDDAB,CDDAC,CDDAD
,CDDBA,CDDBB,CDDBC,CDDBD,CDDCA,CDDCB,CDDCC,CDDCD,CDDDA,CDDDB,CDDDC,CDDDD,DAAAA,DAAAB
,DAAAC,DAAAD,DAABA,DAABB,DAABC,DAABD,DAACA,DAACB,DAACC,DAACD,DAADA,DAADB,DAADC,DAADD
,DABAA,DABAB,DABAC,DABAD,DABBA,DABBB,DABBC,DABBD,DABCA,DABCB,DABCC,DABCD,DABDA,DABDB
,DABDC,DABDD,DACAA,DACAB,DACAC,DACAD,DACBA,DACBB,DACBC,DACBD,DACCA,DACCB,DACCC,DACCD
,DACDA,DACDB,DACDC,DACDD,DADAA,DADAB,DADAC,DADAD,DADBA,DADBB,DADBC,DADBD,DADCA,DADCB
,DADCC,DADCD,DADDA,DADDB,DADDC,DADDD,DBAAA,DBAAB,DBAAC,DBAAD,DBABA,DBABB,DBABC,DBABD
,DBACA,DBACB,DBACC,DBACD,DBADA,DBADB,DBADC,DBADD,DBBAA,DBBAB,DBBAC,DBBAD,DBBBA,DBBBB
,DBBBC,DBBBD,DBBCA,DBBCB,DBBCC,DBBCD,DBBDA,DBBDB,DBBDC,DBBDD,DBCAA,DBCAB,DBCAC,DBCAD
,DBCBA,DBCBB,DBCBC,DBCBD,DBCCA,DBCCB,DBCCC,DBCCD,DBCDA,DBCDB,DBCDC,DBCDD,DBDAA,DBDAB
,DBDAC,DBDAD,DBDBA,DBDBB,DBDBC,DBDBD,DBDCA,DBDCB,DBDCC,DBDCD,DBDDA,DBDDB,DBDDC,DBDDD,DCAAA,DCAAB,DCAAC,DCAAD,DCABA,DCABB,DCABC,DCABD,DCACA,DCACB,DCACC,DCACD,DCADA,DCADB
,DCADC,DCADD,DCBAA,DCBAB,DCBAC,DCBAD,DCBBA,DCBBB,DCBBC,DCBBD,DCBCA,DCBCB,DCBCC,DCBCD
,DCBDA,DCBDB,DCBDC,DCBDD,DCCAA,DCCAB,DCCAC,DCCAD,DCCBA,DCCBB,DCCBC,DCCBD,DCCCA,DCCCB
,DCCCC,DCCCD,DCCDA,DCCDB,DCCDC,DCCDD,DCDAA,DCDAB,DCDAC,DCDAD,DCDBA,DCDBB,DCDBC,DCDBD
,DCDCA,DCDCB,DCDCC,DCDCD,DCDDA,DCDDB,DCDDC,DCDDD,DDAAA,DDAAB,DDAAC,DDAAD,DDABA,DDABB
,DDABC,DDABD,DDACA,DDACB,DDACC,DDACD,DDADA,DDADB,DDADC,DDADD,DDBAA,DDBAB,DDBAC,DDBAD
,DDBBA,DDBBB,DDBBC,DDBBD,DDBCA,DDBCB,DDBCC,DDBCD,DDBDA,DDBDB,DDBDC,DDBDD,DDCAA,DDCAB
,DDCAC,DDCAD,DDCBA,DDCBB,DDCBC,DDCBD,DDCCA,DDCCB,DDCCC,DDCCD,DDCDA,DDCDB,DDCDC,DDCDD
,DDDAA,DDDAB,DDDAC,DDDAD,DDDBA,DDDBB,DDDBC,DDDBD,DDDCA,DDDCB,DDDCC,DDDCD,DDDDA,DDDDB
,DDDDC,DDDDD=====[/code]
AA,AB,AC,AD,BA,BB,BC,BD,CA,CB,CC,CD,DA,DB,DC,DD=====
AAA,AAB,AAC,AAD,ABA,ABB,ABC,ABD,ACA,ACB,ACC,ACD,ADA,ADB,ADC,ADD,BAA,BAB,BAC,BAD
,BBA,BBB,BBC,BBD,BCA,BCB,BCC,BCD,BDA,BDB,BDC,BDD,CAA,CAB,CAC,CAD,CBA,CBB,CBC,CBD
,CCA,CCB,CCC,CCD,CDA,CDB,CDC,CDD,DAA,DAB,DAC,DAD,DBA,DBB,DBC,DBD,DCA,DCB,DCC,DCD
,DDA,DDB,DDC,DDD=====
AAAA,AAAB,AAAC,AAAD,AABA,AABB,AABC,AABD,AACA,AACB,AACC,AACD,AADA,AADB,AADC,AADD
,ABAA,ABAB,ABAC,ABAD,ABBA,ABBB,ABBC,ABBD,ABCA,ABCB,ABCC,ABCD,ABDA,ABDB,ABDC,ABDD
,ACAA,ACAB,ACAC,ACAD,ACBA,ACBB,ACBC,ACBD,ACCA,ACCB,ACCC,ACCD,ACDA,ACDB,ACDC,ACDD
,ADAA,ADAB,ADAC,ADAD,ADBA,ADBB,ADBC,ADBD,ADCA,ADCB,ADCC,ADCD,ADDA,ADDB,ADDC,ADDD
,BAAA,BAAB,BAAC,BAAD,BABA,BABB,BABC,BABD,BACA,BACB,BACC,BACD,BADA,BADB,BADC,BADD
,BBAA,BBAB,BBAC,BBAD,BBBA,BBBB,BBBC,BBBD,BBCA,BBCB,BBCC,BBCD,BBDA,BBDB,BBDC,BBDD
,BCAA,BCAB,BCAC,BCAD,BCBA,BCBB,BCBC,BCBD,BCCA,BCCB,BCCC,BCCD,BCDA,BCDB,BCDC,BCDD
,BDAA,BDAB,BDAC,BDAD,BDBA,BDBB,BDBC,BDBD,BDCA,BDCB,BDCC,BDCD,BDDA,BDDB,BDDC,BDDD
,CAAA,CAAB,CAAC,CAAD,CABA,CABB,CABC,CABD,CACA,CACB,CACC,CACD,CADA,CADB,CADC,CADD
,CBAA,CBAB,CBAC,CBAD,CBBA,CBBB,CBBC,CBBD,CBCA,CBCB,CBCC,CBCD,CBDA,CBDB,CBDC,CBDD
,CCAA,CCAB,CCAC,CCAD,CCBA,CCBB,CCBC,CCBD,CCCA,CCCB,CCCC,CCCD,CCDA,CCDB,CCDC,CCDD
,CDAA,CDAB,CDAC,CDAD,CDBA,CDBB,CDBC,CDBD,CDCA,CDCB,CDCC,CDCD,CDDA,CDDB,CDDC,CDDD
,DAAA,DAAB,DAAC,DAAD,DABA,DABB,DABC,DABD,DACA,DACB,DACC,DACD,DADA,DADB,DADC,DADD
,DBAA,DBAB,DBAC,DBAD,DBBA,DBBB,DBBC,DBBD,DBCA,DBCB,DBCC,DBCD,DBDA,DBDB,DBDC,DBDD
,DCAA,DCAB,DCAC,DCAD,DCBA,DCBB,DCBC,DCBD,DCCA,DCCB,DCCC,DCCD,DCDA,DCDB,DCDC,DCDD
,DDAA,DDAB,DDAC,DDAD,DDBA,DDBB,DDBC,DDBD,DDCA,DDCB,DDCC,DDCD,DDDA,DDDB,DDDC,DDDD=====
AAAAA,AAAAB,AAAAC,AAAAD,AAABA,AAABB,AAABC,AAABD,AAACA,AAACB,AAACC,AAACD,AAADA,AAADB
,AAADC,AAADD,AABAA,AABAB,AABAC,AABAD,AABBA,AABBB,AABBC,AABBD,AABCA,AABCB,AABCC,AABCD
,AABDA,AABDB,AABDC,AABDD,AACAA,AACAB,AACAC,AACAD,AACBA,AACBB,AACBC,AACBD,AACCA,AACCB
,AACCC,AACCD,AACDA,AACDB,AACDC,AACDD,AADAA,AADAB,AADAC,AADAD,AADBA,AADBB,AADBC,AADBD
,AADCA,AADCB,AADCC,AADCD,AADDA,AADDB,AADDC,AADDD,ABAAA,ABAAB,ABAAC,ABAAD,ABABA,ABABB
,ABABC,ABABD,ABACA,ABACB,ABACC,ABACD,ABADA,ABADB,ABADC,ABADD,ABBAA,ABBAB,ABBAC,ABBAD
,ABBBA,ABBBB,ABBBC,ABBBD,ABBCA,ABBCB,ABBCC,ABBCD,ABBDA,ABBDB,ABBDC,ABBDD,ABCAA,ABCAB
,ABCAC,ABCAD,ABCBA,ABCBB,ABCBC,ABCBD,ABCCA,ABCCB,ABCCC,ABCCD,ABCDA,ABCDB,ABCDC,ABCDD
,ABDAA,ABDAB,ABDAC,ABDAD,ABDBA,ABDBB,ABDBC,ABDBD,ABDCA,ABDCB,ABDCC,ABDCD,ABDDA,ABDDB
,ABDDC,ABDDD,ACAAA,ACAAB,ACAAC,ACAAD,ACABA,ACABB,ACABC,ACABD,ACACA,ACACB,ACACC,ACACD
,ACADA,ACADB,ACADC,ACADD,ACBAA,ACBAB,ACBAC,ACBAD,ACBBA,ACBBB,ACBBC,ACBBD,ACBCA,ACBCB
,ACBCC,ACBCD,ACBDA,ACBDB,ACBDC,ACBDD,ACCAA,ACCAB,ACCAC,ACCAD,ACCBA,ACCBB,ACCBC,ACCBD
,ACCCA,ACCCB,ACCCC,ACCCD,ACCDA,ACCDB,ACCDC,ACCDD,ACDAA,ACDAB,ACDAC,ACDAD,ACDBA,ACDBB
,ACDBC,ACDBD,ACDCA,ACDCB,ACDCC,ACDCD,ACDDA,ACDDB,ACDDC,ACDDD,ADAAA,ADAAB,ADAAC,ADAAD
,ADABA,ADABB,ADABC,ADABD,ADACA,ADACB,ADACC,ADACD,ADADA,ADADB,ADADC,ADADD,ADBAA,ADBAB
,ADBAC,ADBAD,ADBBA,ADBBB,ADBBC,ADBBD,ADBCA,ADBCB,ADBCC,ADBCD,ADBDA,ADBDB,ADBDC,ADBDD
,ADCAA,ADCAB,ADCAC,ADCAD,ADCBA,ADCBB,ADCBC,ADCBD,ADCCA,ADCCB,ADCCC,ADCCD,ADCDA,ADCDB
,ADCDC,ADCDD,ADDAA,ADDAB,ADDAC,ADDAD,ADDBA,ADDBB,ADDBC,ADDBD,ADDCA,ADDCB,ADDCC,ADDCD
,ADDDA,ADDDB,ADDDC,ADDDD,BAAAA,BAAAB,BAAAC,BAAAD,BAABA,BAABB,BAABC,BAABD,BAACA,BAACB
,BAACC,BAACD,BAADA,BAADB,BAADC,BAADD,BABAA,BABAB,BABAC,BABAD,BABBA,BABBB,BABBC,BABBD
,BABCA,BABCB,BABCC,BABCD,BABDA,BABDB,BABDC,BABDD,BACAA,BACAB,BACAC,BACAD,BACBA,BACBB
,BACBC,BACBD,BACCA,BACCB,BACCC,BACCD,BACDA,BACDB,BACDC,BACDD,BADAA,BADAB,BADAC,BADAD
,BADBA,BADBB,BADBC,BADBD,BADCA,BADCB,BADCC,BADCD,BADDA,BADDB,BADDC,BADDD,BBAAA,BBAAB
,BBAAC,BBAAD,BBABA,BBABB,BBABC,BBABD,BBACA,BBACB,BBACC,BBACD,BBADA,BBADB,BBADC,BBADD
,BBBAA,BBBAB,BBBAC,BBBAD,BBBBA,BBBBB,BBBBC,BBBBD,BBBCA,BBBCB,BBBCC,BBBCD,BBBDA,BBBDB
,BBBDC,BBBDD,BBCAA,BBCAB,BBCAC,BBCAD,BBCBA,BBCBB,BBCBC,BBCBD,BBCCA,BBCCB,BBCCC,BBCCD
,BBCDA,BBCDB,BBCDC,BBCDD,BBDAA,BBDAB,BBDAC,BBDAD,BBDBA,BBDBB,BBDBC,BBDBD,BBDCA,BBDCB
,BBDCC,BBDCD,BBDDA,BBDDB,BBDDC,BBDDD,BCAAA,BCAAB,BCAAC,BCAAD,BCABA,BCABB,BCABC,BCABD
,BCACA,BCACB,BCACC,BCACD,BCADA,BCADB,BCADC,BCADD,BCBAA,BCBAB,BCBAC,BCBAD,BCBBA,BCBBB
,BCBBC,BCBBD,BCBCA,BCBCB,BCBCC,BCBCD,BCBDA,BCBDB,BCBDC,BCBDD,BCCAA,BCCAB,BCCAC,BCCAD
,BCCBA,BCCBB,BCCBC,BCCBD,BCCCA,BCCCB,BCCCC,BCCCD,BCCDA,BCCDB,BCCDC,BCCDD,BCDAA,BCDAB
,BCDAC,BCDAD,BCDBA,BCDBB,BCDBC,BCDBD,BCDCA,BCDCB,BCDCC,BCDCD,BCDDA,BCDDB,BCDDC,BCDDD
,BDAAA,BDAAB,BDAAC,BDAAD,BDABA,BDABB,BDABC,BDABD,BDACA,BDACB,BDACC,BDACD,BDADA,BDADB
,BDADC,BDADD,BDBAA,BDBAB,BDBAC,BDBAD,BDBBA,BDBBB,BDBBC,BDBBD,BDBCA,BDBCB,BDBCC,BDBCD
,BDBDA,BDBDB,BDBDC,BDBDD,BDCAA,BDCAB,BDCAC,BDCAD,BDCBA,BDCBB,BDCBC,BDCBD,BDCCA,BDCCB
,BDCCC,BDCCD,BDCDA,BDCDB,BDCDC,BDCDD,BDDAA,BDDAB,BDDAC,BDDAD,BDDBA,BDDBB,BDDBC,BDDBD
,BDDCA,BDDCB,BDDCC,BDDCD,BDDDA,BDDDB,BDDDC,BDDDD,CAAAA,CAAAB,CAAAC,CAAAD,CAABA,CAABB
,CAABC,CAABD,CAACA,CAACB,CAACC,CAACD,CAADA,CAADB,CAADC,CAADD,CABAA,CABAB,CABAC,CABAD
,CABBA,CABBB,CABBC,CABBD,CABCA,CABCB,CABCC,CABCD,CABDA,CABDB,CABDC,CABDD,CACAA,CACAB
,CACAC,CACAD,CACBA,CACBB,CACBC,CACBD,CACCA,CACCB,CACCC,CACCD,CACDA,CACDB,CACDC,CACDD
,CADAA,CADAB,CADAC,CADAD,CADBA,CADBB,CADBC,CADBD,CADCA,CADCB,CADCC,CADCD,CADDA,CADDB
,CADDC,CADDD,CBAAA,CBAAB,CBAAC,CBAAD,CBABA,CBABB,CBABC,CBABD,CBACA,CBACB,CBACC,CBACD
,CBADA,CBADB,CBADC,CBADD,CBBAA,CBBAB,CBBAC,CBBAD,CBBBA,CBBBB,CBBBC,CBBBD,CBBCA,CBBCB
,CBBCC,CBBCD,CBBDA,CBBDB,CBBDC,CBBDD,CBCAA,CBCAB,CBCAC,CBCAD,CBCBA,CBCBB,CBCBC,CBCBD
,CBCCA,CBCCB,CBCCC,CBCCD,CBCDA,CBCDB,CBCDC,CBCDD,CBDAA,CBDAB,CBDAC,CBDAD,CBDBA,CBDBB
,CBDBC,CBDBD,CBDCA,CBDCB,CBDCC,CBDCD,CBDDA,CBDDB,CBDDC,CBDDD,CCAAA,CCAAB,CCAAC,CCAAD
,CCABA,CCABB,CCABC,CCABD,CCACA,CCACB,CCACC,CCACD,CCADA,CCADB,CCADC,CCADD,CCBAA,CCBAB
,CCBAC,CCBAD,CCBBA,CCBBB,CCBBC,CCBBD,CCBCA,CCBCB,CCBCC,CCBCD,CCBDA,CCBDB,CCBDC,CCBDD
,CCCAA,CCCAB,CCCAC,CCCAD,CCCBA,CCCBB,CCCBC,CCCBD,CCCCA,CCCCB,CCCCC,CCCCD,CCCDA,CCCDB
,CCCDC,CCCDD,CCDAA,CCDAB,CCDAC,CCDAD,CCDBA,CCDBB,CCDBC,CCDBD,CCDCA,CCDCB,CCDCC,CCDCD
,CCDDA,CCDDB,CCDDC,CCDDD,CDAAA,CDAAB,CDAAC,CDAAD,CDABA,CDABB,CDABC,CDABD,CDACA,CDACB
,CDACC,CDACD,CDADA,CDADB,CDADC,CDADD,CDBAA,CDBAB,CDBAC,CDBAD,CDBBA,CDBBB,CDBBC,CDBBD
,CDBCA,CDBCB,CDBCC,CDBCD,CDBDA,CDBDB,CDBDC,CDBDD,CDCAA,CDCAB,CDCAC,CDCAD,CDCBA,CDCBB
,CDCBC,CDCBD,CDCCA,CDCCB,CDCCC,CDCCD,CDCDA,CDCDB,CDCDC,CDCDD,CDDAA,CDDAB,CDDAC,CDDAD
,CDDBA,CDDBB,CDDBC,CDDBD,CDDCA,CDDCB,CDDCC,CDDCD,CDDDA,CDDDB,CDDDC,CDDDD,DAAAA,DAAAB
,DAAAC,DAAAD,DAABA,DAABB,DAABC,DAABD,DAACA,DAACB,DAACC,DAACD,DAADA,DAADB,DAADC,DAADD
,DABAA,DABAB,DABAC,DABAD,DABBA,DABBB,DABBC,DABBD,DABCA,DABCB,DABCC,DABCD,DABDA,DABDB
,DABDC,DABDD,DACAA,DACAB,DACAC,DACAD,DACBA,DACBB,DACBC,DACBD,DACCA,DACCB,DACCC,DACCD
,DACDA,DACDB,DACDC,DACDD,DADAA,DADAB,DADAC,DADAD,DADBA,DADBB,DADBC,DADBD,DADCA,DADCB
,DADCC,DADCD,DADDA,DADDB,DADDC,DADDD,DBAAA,DBAAB,DBAAC,DBAAD,DBABA,DBABB,DBABC,DBABD
,DBACA,DBACB,DBACC,DBACD,DBADA,DBADB,DBADC,DBADD,DBBAA,DBBAB,DBBAC,DBBAD,DBBBA,DBBBB
,DBBBC,DBBBD,DBBCA,DBBCB,DBBCC,DBBCD,DBBDA,DBBDB,DBBDC,DBBDD,DBCAA,DBCAB,DBCAC,DBCAD
,DBCBA,DBCBB,DBCBC,DBCBD,DBCCA,DBCCB,DBCCC,DBCCD,DBCDA,DBCDB,DBCDC,DBCDD,DBDAA,DBDAB
,DBDAC,DBDAD,DBDBA,DBDBB,DBDBC,DBDBD,DBDCA,DBDCB,DBDCC,DBDCD,DBDDA,DBDDB,DBDDC,DBDDD,DCAAA,DCAAB,DCAAC,DCAAD,DCABA,DCABB,DCABC,DCABD,DCACA,DCACB,DCACC,DCACD,DCADA,DCADB
,DCADC,DCADD,DCBAA,DCBAB,DCBAC,DCBAD,DCBBA,DCBBB,DCBBC,DCBBD,DCBCA,DCBCB,DCBCC,DCBCD
,DCBDA,DCBDB,DCBDC,DCBDD,DCCAA,DCCAB,DCCAC,DCCAD,DCCBA,DCCBB,DCCBC,DCCBD,DCCCA,DCCCB
,DCCCC,DCCCD,DCCDA,DCCDB,DCCDC,DCCDD,DCDAA,DCDAB,DCDAC,DCDAD,DCDBA,DCDBB,DCDBC,DCDBD
,DCDCA,DCDCB,DCDCC,DCDCD,DCDDA,DCDDB,DCDDC,DCDDD,DDAAA,DDAAB,DDAAC,DDAAD,DDABA,DDABB
,DDABC,DDABD,DDACA,DDACB,DDACC,DDACD,DDADA,DDADB,DDADC,DDADD,DDBAA,DDBAB,DDBAC,DDBAD
,DDBBA,DDBBB,DDBBC,DDBBD,DDBCA,DDBCB,DDBCC,DDBCD,DDBDA,DDBDB,DDBDC,DDBDD,DDCAA,DDCAB
,DDCAC,DDCAD,DDCBA,DDCBB,DDCBC,DDCBD,DDCCA,DDCCB,DDCCC,DDCCD,DDCDA,DDCDB,DDCDC,DDCDD
,DDDAA,DDDAB,DDDAC,DDDAD,DDDBA,DDDBB,DDDBC,DDDBD,DDDCA,DDDCB,DDDCC,DDDCD,DDDDA,DDDDB
,DDDDC,DDDDD=====[/code]
解决方案 »
- 求Regex高手!排除特定pattern
- ___诚求C#调用C++ DLL文件的一个经典例子,如能解说一下更好
- 如何将自己程序的文件菜单添加到系统的右键菜单中,以便选择多个文件和文件夹后进行一些操作。自己程序的文件菜单下还有几个子菜单
- 不用dns 怎样获得本机的ip?急 在线等
- 怎样提高界面刷新效率?
- 请教思归、junqiang等大侠:如何保护dll不被其他未授权用户调用和替换(C#)
- 求教:关于 listView 绑定 及 方法调用问题
- 奇怪的comboBox的数据绑定问题!
- 我是新手。在新建一个项目时,提示“VC软件包不可用或未注册",怎么解决?
- 高手请进!!高分!!!
- 橡皮筋取图 界面就两pictureBox
- 问个imagebutton刷新的问题
public string GetNewCode(string strOldCode)
{
if (strOldCode == null || strOldCode == string.Empty) return strOldCode;
char[] vChars = strOldCode.ToCharArray();
for (int i = vChars.Length - 1; i >= 0; i--)
{
int p = cNumbers.IndexOf(vChars[i]);
if (p < 0) return null; // error
if (p + 1 <= cNumbers.Length - 1)
{
vChars[i] = cNumbers[p + 1];
for (int j = vChars.Length - 1; j > i; j--)
vChars[j] = cNumbers[0];
break;
}
}
return new string(vChars);
}private void button1_Click(object sender, EventArgs e)
{
for (int i = 1; i <= 5; i++)
{
char[] vStart = new char[i];
char[] vEnd = new char[i]; for (int j = 0; j < i; j++)
{
vStart[j] = cNumbers[0];
vEnd[j] = cNumbers[cNumbers.Length - 1];
} string vStartStr = new string(vStart);
string vEndStr = new string(vEnd);
string vTemp = vStartStr;
Console.Write(vTemp);
int vLen = 0;
do
{
vLen += vTemp.Length + 1;
if (vLen >= 80)
{
Console.WriteLine(); // 换行输出
vLen = 0;
} vTemp = GetNewCode(vTemp);
Console.Write("," + vTemp);
} while (vTemp != vEndStr);
Console.WriteLine("=====");
}
}
:)
好用了 :)
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Collections;
using System.Text.RegularExpressions;namespace ConsoleApplication1
{
public class M
{
static void Main(string[] args)
{
int start = 0;
while (start++ < 10000)
{
PrintStr(start);
}
} private static void PrintStr(int code)
{
int x = code;
StringBuilder s = new StringBuilder(); GetNumber(ref code , ref s); char[] bits = s.ToString().ToCharArray(); StringBuilder c = new StringBuilder(); for (int len = bits.Length; len > 0; len--)
{
if ((bits.Length == len) && (bits[len - 1].ToString() == "0"))
{
continue;
}
else
{
c.Append(bits[len - 1]);
}
} string strCode = c.ToString();
strCode = Regex.Replace(strCode, "1", "A");
strCode = Regex.Replace(strCode, "2", "B");
strCode = Regex.Replace(strCode, "3", "C");
strCode = Regex.Replace(strCode, "4", "D"); if (!strCode.Contains("0"))
{
Console.WriteLine(strCode);
}
} private static void GetNumber(ref int code, ref StringBuilder strCode)
{
int v1 = code % 5;
int v2 = code / 5;
strCode.Append(v1.ToString()); if (v2 < 5)
{
strCode.Append(v2.ToString());
}
else
{
GetNumber(ref v2 , ref strCode);
}
}
}
}
strCode = Regex.Replace(strCode, "1", "A");
strCode = Regex.Replace(strCode, "2", "B");
strCode = Regex.Replace(strCode, "3", "C");
strCode = Regex.Replace(strCode, "4", "D"); if (!strCode.Contains("0"))
{
Console.WriteLine(strCode);
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.Collections;
using System.Text.RegularExpressions;namespace ConsoleApplication1
{
public class M
{
static void Main(string[] args)
{
int start = 0;
while (start++ < 10000)
{
PrintStr(start.ToString());
}
} private static void PrintStr(string code)
{
code = Regex.Replace(code , "0|5|6|7|8|9" , "X"); if (code.Contains("X"))
{
return;
} code = Regex.Replace(code , "1" , "A");
code = Regex.Replace(code , "2" , "B");
code = Regex.Replace(code , "3" , "C");
code = Regex.Replace(code , "4" , "D"); Console.WriteLine(code);
}
}
}
但考虑到在perl中,字符是可以递增的,所以就用进制的方法实现了,如果转化后的数字中出现的0,则忽视他,反正只要1234
于是,又考虑到反正是要1234,为什么那么转换进制那么麻烦呢,所以,我就用10进制中的数字,对于除1234之外的数字,一律忽视 code = Regex.Replace(code , "0|5|6|7|8|9" , "X"); if (code.Contains("X"))
{
return;
}要的是只是1234,所以就 private static void PrintStr(string code)
{
code = Regex.Replace(code , "0|5|6|7|8|9" , "X"); if (code.Contains("X"))
{
return;
} code = Regex.Replace(code , "1" , "A");
code = Regex.Replace(code , "2" , "B");
code = Regex.Replace(code , "3" , "C");
code = Regex.Replace(code , "4" , "D"); Console.WriteLine(code);
}
}
运行后发现,效率似乎还过的去
using System.Collections.Generic;
using System.Text;namespace abcdEnum
{
class Program
{
public static string GetCharFromNum(long l, Dictionary<string, string> dic)
{
string s = l.ToString("x");
foreach (string a in dic.Keys)
{
s = s.Replace(a, dic[a]);
}
return s;
}
static void Main(string[] args)
{
Dictionary<string, string> map = new Dictionary<string, string>();
map.Add("0", "AA");
map.Add("1", "AB");
map.Add("2", "AC");
map.Add("3", "AD");
map.Add("4", "BA");
map.Add("5", "BB");
map.Add("6", "BC");
map.Add("7", "BD");
map.Add("8", "CA");
map.Add("9", "CB");
map.Add("a", "CC");
map.Add("b", "CD");
map.Add("c", "DA");
map.Add("d", "DB");
map.Add("e", "DC");
map.Add("f", "DD");
List<string> s1 = new List<string>();
List<string> s2 = new List<string>();
List<string> s3 = new List<string>();
List<string> s4 = new List<string>();
long min = 4 * 4 * 4 * 4;
long max = 2 * min - 1;
int Count1 = 0;
int Count2 = 0;
int Count3 = 0;
int Count4 = 0;
for (; max >= min; max--)
{
string s = GetCharFromNum(max, map).Substring(2, 4);
if (s.Substring(0, 3) == "AAA")
{
s1.Add(s.Substring(3, 1));
Count1++;
}
if (s.Substring(0, 2) == "AA")
{
s2.Add(s.Substring(2, 2));
Count2++;
}
if (s.Substring(0, 1) == "A")
{
s3.Add(s.Substring(1, 3));
Count3++;
}
s4.Add(s);
Count4++;
}
Console.WriteLine("Count of 1 char:" + Count1);
for(int i=s1 .Count-1;i>=0;i--)
Console.WriteLine(s1 [i]);
Console.WriteLine("Count of 2 char:" + Count2);
for (int i = s2.Count - 1; i >= 0; i--)
Console.WriteLine(s2[i]);
Console.WriteLine("Count of 3 char:" + Count3);
for (int i = s3.Count - 1; i >= 0; i--)
Console.WriteLine(s3[i]);
Console.WriteLine("Count of 4 char:" + Count4);
for (int i = s4.Count - 1; i >= 0; i--)
Console.WriteLine(s4[i]); }
}
}
{
class Program
{
static void Main(string[] args)
{
int n = 5;
char start = 'A', end = 'D';
string s = start.ToString();
bool noCarry = true; // 进位标志
while (s.Length <= n)
{
Console.WriteLine(s); // 输出字符串
char[] c = s.ToCharArray(); // 转成数组后模拟加法递增和进位
for (int j = c.Length - 1; j >= 0; j--)
if (noCarry = (++c[j] <= end)) break; // 当前位的字符递增
else c[j] = start; // 如果递增产生进位,当前位回零,变成'A'
if (noCarry) s = new string(c); // 循环是以break 退出的
else s = start + new string(c); // 需要进位加长字符串
}
}
}
}
{
class Program
{
static void ProcessString(string s, int end)
{
if (s.Length < end) // 字母长度是否达到要求
for (char c = 'A'; c <= 'D'; c++)
ProcessString(s + c, end); // 递归调用下一级增加一个字母
else
Console.WriteLine(s);
}
static void Main(string[] args)
{
for (int i = 0; i < 5; ) // 最高 5 位字母
ProcessString("", ++i);
Console.Read();
}
}
}
递归就是简洁
{
class Program
{
static void Main(string[] args)
{
int n = 5;
int max = (int)Math.Pow(10, n);
for (int i = 0, j; i < max; i++)
{
char[] c = i.ToString().ToCharArray();
for (j = 0; j < c.Length; j++)
if ((c[j] += '\u0011') > 'D') break;
if (j < c.Length) continue;
string s = new string(c);
Console.WriteLine(s);
}
}
}
}
{
class Program
{
static void Main(string[] args)
{
int n = 5;
int max = (int)Math.Pow(10, n);
for (int i = 0, j; i < max; i++)
{
char[] c = i.ToString().ToCharArray();
for (j = 0; j < c.Length; j++)
if ((c[j] += '\u0010') <'A'||c[j]>'D') break;
if (j < c.Length) continue;
string s = new string(c);
Console.WriteLine(s);
}
Console.Read();
}
}
}
楼上少个判断条件,重新发个
using System.Collections.Generic;namespace StringDisplay
{
class Program
{
static void Main(string[] args)
{
int n = 3;
Queue<string> A = new Queue<string>();
A.Enqueue(""); // 加入种子,也可写成 for (char c = 'A'; c <= 'D'; c++) A.Enqueue(c.ToString());
while (A.Peek().Length<=n)
{
for (char c = 'A'; c <= 'D'; c++)
A.Enqueue(A.Peek() + c);
Console.WriteLine(A.Dequeue());
}
}
}
}
再来个滚动赋值的
21楼利用char[] c模拟数字递增和进制,效率较高,代码较乱;
22楼的循环内再嵌套递归最贴合题目长度变化的要求,效率最高;
24楼利用循环数字转字符串效率很低,而且字符串不能太长,原理和LineAge_Hell朋友的一样,精简了代码;
25楼滚动赋值代码最简洁,效率一般,额外加判断也能达到递归的效率;
如果用4进制,A代表0,B代表1,C代表2,D代表3,那么数字0代表"A"还是"AAAAA"呢?需要判断和定位吧
如果用5进制,空位代表0,A代表1,B代表2,C代表3,D代表4,就可以解决上面提出的问题,我们决不可能把 1 和 11111 混为一谈,但是新的问题又来了,10代表什么?显然不可以出现A的空中楼阁,所以又需要判断。所以这个题目就是个滚动叠加的问题,详见25楼。
模拟进制也可以,例子详见21楼,22楼,24楼,其中22楼模拟4进制最彻底。
“这个题目根本不是进制的,如果强行用进制的,就引发了很多判断。”这个有很大问题。这个问题用4进制是最简单和效率最高的。 至于判断,其实很简单的:比如'A' 我们可是根据字符个数衍生出 'AA''AAA''AAAA',而像'BA'我们也可同理衍生出'ABA' 'AABA' 。
例如数字系统的进位机制,A=0,B=1,C=2,D=3,之后要进位了吧,进位的结果是什么?10还是00?当然是10,10又代表AA号还是BA?我们只能牵强的让进位的结果等于00,得到AA,从这里开始掺入了判断或者定位,与数字体系分道扬镳了,根本不算进制形式,所以我说这个题目根本不是进制的,它是个滚动叠加。