Intro
Sei seduto in una sala riunioni alla fine di un lungo tavolo. Ti guardi intorno e vedi Tim Cook, il Consiglio di amministrazione di Apple, il fantasma di Steve Jobs e Jack Donaghy. Apple ha convocato questo incontro perché si sono resi conto di quanto sia più interessante la schermata di blocco di Android e vogliono 1-UP. Tutti nella stanza ti fissano mentre Ghost Steve piange, "Aiutami, CodeGolf Man! Sei la mia unica speranza!"
Il problema
La schermata di blocco di Android è una griglia 3 x 3 di punti che può essere collegata facendo scorrere un dito da un punto all'altro, creando un percorso. Una password è considerata ogni possibile percorso che include un numero qualsiasi di punti ed esclude qualsiasi numero di punti. (Su un telefono reale, il percorso deve essere lungo almeno 4 punti. Per questa sfida, ignora quella restrizione.) Apple prevede di sostituire la griglia 3 x 3 con una griglia M x N, che è (M * N) / 9 volte meglio!
Regole:
Ad esempio, su una griglia 3x3 con punti numerati da 1 a 9:
1 2 3
4 5 6
7 8 9
Alcuni percorsi validi sono:
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
E alcuni percorsi non validi sono:
1,3
1,9,5
7,5,4,7
4,6
Il tuo input sarà di tre numeri:
(M,N,d)
Dove la griglia è M x N e d è la lunghezza del percorso
1 <= M <= 16
1 <= N <= 16
1 <= d <= M * N
Al programma o alla funzione verrà fornito l'input come stringa separata da virgola e deve restituire il numero di possibili password di quella lunghezza. Per esempio:
Input: 2,2,1
Output: 4
Input: 2,2,2
Output: 12
Input: 7,4,1
Output: 28
Si applicano le regole standard del codice golf, vince il codice più corto!
//If I've made a mistake or the rules are unclear, please correct me!
256!
permutazioni dei punti sulla griglia 16 x 16 rappresentano un modello di sblocco valido. In pratica, un tale programma non si sarebbe mai concluso.