카테고리 없음

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

블로그 주인장 2023. 8. 11.

[ 목차 ]

     


    📢 문제 출처

     

    26008번: 해시 해킹

    첫째 줄에 비밀번호의 길이 $N$과 문자 종류의 개수 $M$, 정수 $A$가 주어진다. ($1 \le N, M, A \le 5\,000\,000$) 둘째 줄에 재현이가 알아낸 해시값 정수 $H$가 주어진다. ($0 \le H < M$)

    www.acmicpc.net


    📢 문제 설명


    📢 입출력 예시


    📢 풀이

    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);
    	}
    }

    📢 문제 풀이(!?)


    📢 참고 사이트

     

    롤링 해시의 균일한 해시 값 분배 가능성 - 26008번: 해시 해킹

    처음 작성했을때와 결론이 달라졌습니다. 마지막 섹션에 새로운 내용을 업데이트 했습니다. 제목을 이렇게 붙이니 오랜만에 논문을 작성하는 기분이다. 이 글은 백준 26008번: 해시 해킹에 대한

    gukin.tistory.com

     

    [백준] 26008 해시해킹

    문제 입력 출력 코드( python ) n,m,a = map(int, input().split()) print(pow(m, n-1, 1000000007)) 코드( java ) import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long answer = 1L; in

    nukoori.tistory.com


    반응형

    댓글