Intro
Sie sitzen in einem Sitzungssaal am Ende eines langen Tisches. Sie sehen sich um und sehen Tim Cook, das Apple Board of Directors, den Geist von Steve Jobs und Jack Donaghy. Apple hat dieses Treffen anberaumt, weil es erkannt hat, wie viel cooler der Android-Sperrbildschirm ist, und sie möchten sie 1-UP. Jeder im Raum starrt dich an, als Ghost Steve schreit: "Hilf mir, CodeGolf Man! Du bist meine einzige Hoffnung!"
Das Problem
Der Android-Sperrbildschirm ist ein 3 x 3-Raster von Punkten, die durch Wischen eines Fingers von einem Punkt zum nächsten verbunden werden können, um einen Pfad zu erstellen. Ein Kennwort wird als ein möglicher Pfad angesehen, der eine beliebige Anzahl von Punkten enthält und eine beliebige Anzahl von Punkten ausschließt. (Auf einem tatsächlichen Telefon muss der Pfad mindestens 4 Punkte lang sein. Ignorieren Sie diese Einschränkung für diese Herausforderung.) Apple plant, das 3 x 3-Raster durch ein M x N-Raster (M * N) / 9 zu ersetzen mal besser!
Regeln:
Beispiel: In einem 3x3-Raster mit Punkten von 1 bis 9:
1 2 3
4 5 6
7 8 9
Einige gültige Pfade sind:
1
3
7,2,3
1,5,9,2
1,8,6,5,4
4,2,3,5,6,7,8,9
5,9,6,4
Und einige ungültige Pfade sind:
1,3
1,9,5
7,5,4,7
4,6
Ihre Eingabe wird drei Zahlen sein:
(M,N,d)
Wobei das Gitter M x N ist und d die Länge des Pfades ist
1 <= M <= 16
1 <= N <= 16
1 <= d <= M * N
Ihr Programm oder Ihre Funktion erhält die Eingabe als durch Kommas getrennte Zeichenfolge und muss die Anzahl der möglichen Kennwörter dieser Länge zurückgeben. Beispielsweise:
Input: 2,2,1
Output: 4
Input: 2,2,2
Output: 12
Input: 7,4,1
Output: 28
Es gelten die Standard-Code-Golfregeln, der kürzeste Code gewinnt!
//If I've made a mistake or the rules are unclear, please correct me!
256!
Permutationen der Punkte im 16 x 16-Raster ein gültiges Entsperrmuster darstellen. In der Praxis würde ein solches Programm niemals enden.