[quote=docsnyder,21.03.2007, 14:15]Na, ja, so ganz einfach ist bruteforce auch nicht: bis 9 Schleifen mit einem Laufindex von jeweils 362880 (wenn man das mit Permutationen von 123456789 macht) abgearbeitet sind, werden wir alt sein. Man muss sich schon überlegen, wie man die Geschichte sinnvoll abkürzt.[/quote]
Ich hab jetzt eine Brute-Force Lösung, die für das schwierigste SuDoKu, was ich finden konnte, 83 Sekunden braucht. Wobei der Algorithmus nicht stoppt, wenn eine Lösung gefunden wurde, um damit auch SuDoKus auf Lösbarkeit testen zu können. Allerdings habe ich auch mit Hilfe von Devel::DProf so weit optimiert wie es nur ging.
Ich werde nachher noch mal einen Ansatz mit RegEx testen. Mal schauen, ob ich das noch schneller bekomme...
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B