본문 바로가기
Coding test/Baekjoon

[백준][JAVA] 26008번: 해시 해킹

by jepa 2023. 8. 12.
728x90
SMALL
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		long answer = 1L;

		int n = sc.nextInt();
		int m = sc.nextInt();
		int a = sc.nextInt();
		int h = sc.nextInt();

		for(int i = 0; i < n-1; i ++){
			answer = (answer * m)%1000000007;
		}
        System.out.println(answer);
	}
}

사진에서 Po + B 로 정리를 한 식이 있다.

 

결론은 B가 어떠한 값이 와도 Po 값 하나로 h(P) (=즉, H, %M한 값)이 정해질 수 있어다는 것이다!!

결국은 %M으로 연산을 하고 Po의 범위는 0~M-1이니까 말이다!

 

즉 어떠한 H값이든 Po로 한 개의 값으로 만들 수 있으니 뒤에 올 수 있는 경우의 수만 구해주면 된다는 문제였던 것 같습니다..!

728x90
LIST