Вступ
Ви сидите в кімнаті правління в кінці довгого столу. Ви озираєтесь і бачите Тіма Кука, Раду директорів Apple, привид Стіва Джобса та Джека Донагі. Apple назвала цю зустріч, тому що вони зрозуміли, наскільки крутіший екран блокування Android, і хочуть їх 1-UP. Усі в кімнаті дивляться на вас, як привид Стіва кричить: "Допоможіть мені, CodeGolf Man! Ти єдина моя надія!"
Проблема
Екран блокування Android - це сітка 3 х 3 крапок, яку можна з'єднати, провевши пальцем від однієї точки до іншої, створюючи шлях. Паролем вважається будь-який можливий шлях, який включає будь-яку кількість крапок і виключає будь-яку кількість крапок. (На фактичному телефоні шлях повинен бути не менше 4 крапок. Для цього виклику ігноруйте це обмеження.) Apple планує замінити сітку 3 x 3 на сітку M x N, яка є (M * N) / 9 в рази краще!
Правила:
Наприклад, на сітці 3x3 з крапками, пронумерованими від 1 до 9:
1 2 3
4 5 6
7 8 9
Деякі дійсні шляхи:
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
І деякі недійсні шляхи:
1,3
1,9,5
7,5,4,7
4,6
Ваш вхід буде три числа:
(M,N,d)
Де сітка M x N, а d - довжина шляху
1 <= M <= 16
1 <= N <= 16
1 <= d <= M * N
Вашій програмі або функції буде надано вхід у вигляді рядка, розділеного комою, і він повинен повернути кількість можливих паролів такої довжини. Наприклад:
Input: 2,2,1
Output: 4
Input: 2,2,2
Output: 12
Input: 7,4,1
Output: 28
Діють стандартні правила гольфу, найкоротший виграш коду!
//If I've made a mistake or the rules are unclear, please correct me!
256!
перестановок точок на сітці 16 x 16 є дійсною схемою розблокування. На практиці така програма ніколи не припинятиметься.