PHP 224, 218, 210 206
foreach(explode(",","I19SR,9ZY8H,,CNK,5JRU0,H,CN4,G0H,H160,CN4,75,CU9,AMIHD,MTQP,HQOXK,7L,74,G,CXS,CU9,HTOG,,CNK,MHA8,CNL,1")as$a){$b++;for($c=0;$c<26;$c++)echo base_convert($a,36,10)&pow(2,$c)?chr(96+$b).chr(97+$c)." ":"";}
aa ab ad ae ag ah ai al am an ar as at aw ax ay ba be bi bo by de do ed ef eh el em en er es et ex fa fe go ha he hi hm ho id if in is it jo ka ki la li lo ma me mi mm mo mu my na ne no nu od oe of oh oi om on op or os ow ox oy pa pe pi qi re sh si so ta ti to uh um un up us ut we wo xi xu ya ye yo za
Auf jeden Fall keine gute Punktzahl, aber ich mochte die Herausforderung.
Ich erstelle eine Tabelle der Optionen, erstelle ein bitweises System, um zu kennzeichnen, welche Optionen gültig sind.
Dann habe ich base-36 diese Optionen codiert, um die Zeichenfolge zu erhalten:
"I19SR,9ZY8H,,CNK,5JRU0,H,CN4,G0H,H160,CN4,75,CU9,AMIHD,MTQP,HQOXK,7L,74,G,CXS,CU9,HTOG,,CNK,MHA8,CNL,1"
Beachten Sie, dass der dritte Eintrag in diesem String-Array keinen Wert hat, da C keine Optionen hat.
Um die Werte auszudrucken, konvertiere ich einfach die gültigen Optionen in Zeichen.
Es könnte etwas geben, das ich tun könnte, um das Erkennen zu reduzieren, dass es keine Wörter gibt, die auf C, J, K, Q, V oder Z enden, aber ich kann mir keine Methode vorstellen, um es atm zu reduzieren.
Durch das Transponieren der Tabelle entstehen mehr leere Elemente, und die Daten werden etwas kompakter codiert, wodurch einige Bytes eingespart werden. Das Array wird jetzt in einer anderen Reihenfolge gedruckt:
foreach(explode(",","UB1YB,1,,CUP,CLMEJ,CUO,1,SG0H,5J9MR,,,H,MX01,MTXT,CYO5M,MTQ8,,CNL,MTXT,MHAP,50268,,CN5,CNL,FSZ,,")as$a){$b++;for($c=0;$c<26;$c++)echo base_convert($a,36,10)&pow(2,$c)?chr(97+$c).chr(96+$b)." ":"";}
aa ba fa ha ka la ma na pa ta ya za ab ad ed id od ae be de fe he me ne oe pe re we ye ef if of ag ah eh oh sh uh ai bi hi ki li mi oi pi qi si ti xi al el am em hm mm om um an en in on un bo do go ho jo lo mo no so to wo yo op up ar er or as es is os us at et it ut mu nu xu aw ow ax ex ox ay by my oy
Danke an Ismael für die Explosion und die Loop-Hinweise.
foreach(explode(3,UB1YB3133CUP3CLMEJ3CUO313SG0H35J9MR333H3MX013MTXT3CYO5M3MTQ833CNL3MTXT3MHAP35026833CN53CNL3FSZ)as$d)for($e++,$f=0;$f<26;$f++)echo base_convert($d,36,10)&pow(2,$f)?chr(97+$f).chr(96+$e)." ":"";
Mit einem Update auf php5.6 pow(,)
können durch **
Speichern weiterer 4 Bytes ersetzt werden.
foreach(explode(3,UB1YB3133CUP3CLMEJ3CUO313SG0H35J9MR333H3MX013MTXT3CYO5M3MTQ833CNL3MTXT3MHAP35026833CN53CNL3FSZ)as$d)for($e++,$f=0;$f<26;$f++)echo base_convert($d,36,10)&2**$f?chr(97+$f).chr(96+$e)." ":"";