비밀번호 만들기
시간 제한1초메모리 제한512 MB
길이 M의 대문자 문자열 중 이웃한 글자의 알파벳 번호 차이가 N 이상인 것의 개수를 10^9+7로 나눈 나머지를 구한다.
- 난이도
보통10점 중 4점
- 유형
- 동적 계획법
- 정답자
- 아직 제출이 없습니다
문제
혜민이는 자신만의 규칙으로 비밀번호를 만들어내고 싶다. A부터 Z까지 순서대로 부터 까지 번호를 지정했을 때, 알파벳 사이의 거리는 알파벳 번호의 차이이다. 혜민이는 자리의 비밀번호를 만든다면 몇 개를 만들 수 있는지 알고 싶다. 비밀번호를 만드는 규칙은 다음과 같다.
- 이상 이하의 정수 에 대해, 번째 알파벳과 번째 알파벳 사이의 거리가 이상이 되도록 한다.
- 알파벳은 대문자만 사용한다.
- 알파벳은 중복으로 사용이 가능하다.
예를 들어, , 인 경우, 첫 번째 알파벳이 A이면 AYAY, AYAZ, AZAY, AZAZ, AZBZ를, Z이면 ZAYA, ZAZA, ZAZB, ZBZA, ZBZB를, B이면 BZAY, BZAZ, BZBZ를, Y이면 YAYA, YAZA, YAZB를 만들 수 있다. 따라서 으로 총 개의 비밀번호를 만들 수 있다.
만들 수 있는 비밀번호의 개수를 로 나눈 나머지를 출력해 보자.
입력
첫째 줄에 정수 과 이 공백으로 구분되어 주어진다.
출력
만들 수 있는 비밀번호의 개수를 로 나눈 나머지를 출력한다.