No Rules Rules

Hashing (feat. 백준, 15829번) 본문

생활/코테

Hashing (feat. 백준, 15829번)

개발하는 완두콩 2023. 2. 6. 12:09
728x90
반응형

Hashing
https://www.acmicpc.net/problem/15829

 

15829번: Hashing

APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정

www.acmicpc.net

 

// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
#include <string>
using namespace std;
int main() {
    ios::sync_with_stdio(false), cin.tie(NULL);
    register int N;
    register long long ans = 0, r = 1, M = 1234567891;
    string str;
    cin >> N >> str;
    for(register int i = 0, tmp; i < N; ++i){
        tmp = str.at(i) - 'a' + 1;
        ans = (ans + (tmp * r)) % M;
        r = (r * 31) % M;
    }
    cout << ans;
	return 0;
}
// *&)*@*

 

반응형

연산의 범위가 32비트 정수형을 넘어서기 때문에 long long 자료형으로 해당 값을 연산하면 됩니다.

문제 자체는 단순 연산을 요구하는 문제입니다.

728x90
반응형
Comments