1395 : brute force attack
제한시간: 1000 ms
메모리제한: 64 MB
해결횟수: 21 회
시도횟수: 155 회

암호학에서 Brute-Force Attack 은, 암호를 풀기 위해서 무식하게 수많은 암호를 하나하나 시도하는 방법을 일컫는다. 대부분의 경우 Brute-Force Attack 을 사용하는 것은 무의미하지만, 시스템이 허용하는 암호의 수가 제한되어 있다면 Brute-Force Attack 이 유용할 수도 있다.
예를 들어, 은행 비밀번호는 항상 4자리의 10진수로 구성되어 있기 때문에 10,000개의 암호 조합만이 사용 가능하다.
당신은 어떤 시스템의 암호를 Brute-Force Attack 으로 알아내고 싶다. 이 시스템에서 최소 A자리에서 최대 B자리의 암호를 사용할 수 있다고 하며, 암호의 각 자리에는 N종류의 글자 중 하나를 사용할 수 있다고 하자. (예를 들어, 은행의 비밀번호에 대해서는 A=B=4, N=10 이다.) 이 때 이 시스템에서 사용할 수 있는 암호 조합의 수를 계산하는 프로그램을 작성하라.
답이 클 경우, 1,000,000,007 의 나머지만을 출력한다.

입력은 한 줄로 이뤄지며A 와 B, N 이 세 개의 자연수로 주어진다(1≤A≤B≤100,000,000 , 1≤N≤128).

시스템에서 사용할 수 있는 암호 조합의 수를 1 000 000 007 로 나눈 나머지를 한 줄에 출력한다.
![]() 1 100000 1 |
![]() 100000 |
![]() 4 8 36 |
![]() 712979373 |
출처 : JongMan