Introdução
Você está sentado em uma sala de diretoria no final de uma longa mesa. Você olha em volta e vê Tim Cook, o Conselho de Administração da Apple, o fantasma de Steve Jobs e Jack Donaghy. A Apple convocou essa reunião porque percebeu o quanto a tela de bloqueio do Android é mais fria e deseja aumentá-la. Todos na sala olham para você enquanto Steve Ghost grita: "Me ajude, CodeGolf Man! Você é minha única esperança!"
O problema
A tela de bloqueio do Android é uma grade de pontos 3 x 3 que pode ser conectada passando um dedo de um ponto para o outro, criando um caminho. Uma senha é considerada qualquer caminho possível que inclua qualquer número de pontos e exclua qualquer número de pontos. (Em um telefone real, o caminho deve ter pelo menos 4 pontos. Para esse desafio, ignore essa restrição.) A Apple planeja substituir a grade 3 x 3 por uma grade M x N, que é (M * N) / 9 vezes melhor!
Regras:
Por exemplo, em uma grade 3x3 com pontos numerados de 1 a 9:
1 2 3
4 5 6
7 8 9
Alguns caminhos válidos são:
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 alguns caminhos inválidos são:
1,3
1,9,5
7,5,4,7
4,6
Sua entrada será de três números:
(M,N,d)
Onde a grade é M x N e d é o comprimento do caminho
1 <= M <= 16
1 <= N <= 16
1 <= d <= M * N
Seu programa ou função receberá a entrada como uma sequência separada por vírgula e deve retornar o número de senhas possíveis desse comprimento. Por exemplo:
Input: 2,2,1
Output: 4
Input: 2,2,2
Output: 12
Input: 7,4,1
Output: 28
Aplicam-se as regras de código padrão do golfe, o código mais curto vence!
//If I've made a mistake or the rules are unclear, please correct me!
256!
permutações dos pontos na grade 16 x 16 representam um padrão de desbloqueio válido. Na prática, esse programa nunca terminaria.