아마도.. 묻히겠지만.. 저도 다시 기억할 겸, 그리고 몇몇분들에게 도움을 드리기 위해 글을 적고자 합니다.
문제에서는 길이가 20, 암호가 30이라고 하지만, 흔히 영어적 표현에서는 permutation [n] with k nestings.라고 합니다.(n : 길이, k : 암호)
좀 적어보면(얘는 사실 코딩으로 가능, n이 작을 때는)
n/k | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
3 | 5 | 1 | |||||||||
4 | 14 | 8 | 2 | ||||||||
5 | 42 | 45 | 25 | 7 | 1 | ||||||
6 | 132 | 220 | 198 | 112 | 44 | 12 | 2 | 0 | 0 | 0 | 0 |
7 | 429 | 1001 | 1274 | 1092 | 700 | 352 | 140 | 42 | 9 | 1 | 0 |
cf. 아마도 k=0일 때는... 익숙하신 수일 겁니다.
답은 12786으로 시작하는 18자리수 입니다. 위가 제목인(혹은 위의 수열들을 이용하여) 특정 oeis를 검색하여, text를 샅샅이 찾아보시면 n=20, k=30일 때의 값을 찾으실 수 있을겁니다.
사실 너무 코딩 문제라서... 답답하신 분들이 넘어가실 수 있었으면 좋겠네요.