소개
긴 테이블 끝에있는 회의실에 앉아 있습니다. Apple 이사회, Steve Jobs의 유령, Jack Donaghy 등의 팀 쿡을 둘러 보았습니다. 애플은 안드로이드 잠금 화면이 얼마나 멋진 지 깨닫고 1-UP을 원하기 때문에이 회의에 전화했다. 고스트 스티브가 울부 짖는 것처럼 방에있는 모든 사람들이 당신을 응시합니다.
문제
Android 잠금 화면은 손가락을 한 점에서 다음 점으로 스 와이프하여 연결하여 경로를 만들 수있는 3 x 3 격자 형 점입니다. 암호는 여러 개의 점을 포함하고 여러 개의 점을 제외하는 가능한 경로로 간주됩니다. (실제 전화의 경우 경로의 길이는 4 도트 이상이어야합니다.이 문제를 해결하려면 해당 제한을 무시하십시오.) Apple은 3 x 3 그리드를 M x N 그리드 (M * N) / 9로 교체 할 계획입니다. 더 나은 시간!
규칙 :
예를 들어 1에서 9까지의 숫자로 된 점이있는 3x3 격자에서
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
입력 한 숫자는 3 자리입니다.
(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 그리드 의 모든 점 순열 중 유효한 잠금 해제 패턴을 나타내는 프로그램을 쉽게 작성할 수 있습니다 . 실제로 이러한 프로그램은 절대 종료되지 않습니다.