da mir gerade ein bisschen langweilig ist, wollte ich einen Mini-Wettbewerb starten. Preise gibt's keine.

Es geht um den Android-Sperrbildschirm mit dem Muster, den vielleicht der ein oder andere schon kennt und auch benutzt:

Es soll ein Code geschrieben werden, der möglichst schnell die Anzahl der möglichen Kombinationen für dieses "Musterschloss" ausgibt. Ob die Lösung per Konsole oder per Messagerequester ausgegeben wird, ist dabei egal.
Dabei gelten folgende Regeln:
- Es darf kein Assembler verwendet werden.
- EnableExplicit verwenden!
- Der Code muss ohne Probleme und externe Tools oder Bibliotheken mit der neusten Purebasic-Version ausführbar sein.
- Entscheidend ist die Geschwindigkeit des Codes, die dann von mir letztendlich berechnet wird. Dabei wird der Code mehrmals ausgeführt und die Zeit mit 'ElapsedMilliseconds()' gemessen.
- Threads sind erlaubt. Übrigens kann ich auf meiner Maschine hardwaremäßig 8 Threads gleichzeitig ausführen.
- Eine geschlossene mathematische Formel, die praktisch direkt das Ergebnis ausspuckt, gibt es meines Wissens nach für dieses Problem nicht. Aber falls jemand anderes trotzdem eine findet, wäre das zwar genial, aber meiner Meinung nach auch unfair den anderen Code-Schreibern gegenüber und wird somit nicht gewertet.
- Ich nehme nicht teil.
- Der Mini-Wettbewerb geht bis Sonntag, 12 Uhr.
- Das Muster kann erzeugt werden, in dem man mehrere Punkte mit einer durchgehenden Linie verbindet.
- Dabei darf kein Punkt doppelt verwendet werden.
- Man darf einen Punkt nicht mit einem zweiten Punkt verbinden, wenn genau dazwischen ein anderer noch unbenutzter Punkt ist.
Beispiel: Man darf den oberen linken Punkt nicht mit dem oberen rechten Punkt verbinden, wenn der obere mittlere Punkt noch nicht benutzt wurde. Wurde der obere mittlere Punkte schon verwendet, dann geht es allerdings.
Gegenbeispiel: Vom oberen linken Punkt darf man durchaus zum unteren mittleren Punkt, sofern dieser nicht schon benutzt wurde. - Das Muster muss aus mindestens vier verbundenen Punkten und darf aus maximal 9 verbundenen Punkten bestehen.
Viel Spaß schon mal. Ich hoffe ich habe keine Regel vergessen. Falls doch, dann bitte meckern.
PS.: Ich habe das ganze für mich natürlich schon mal programmiert. Auf Geschwindigkeit getrimmt ist es noch nicht, aber ich bin mir ziemlich sicher, dass zumindest das Ergebnis stimmt.
