본문 바로가기
[백준]

[BaekJoon/백준] 15829번 Hashing

by Hevton 2022. 6. 20.
반응형

 

타뷸레이션 이용해서 미리 만들어 놓고 사용하면 된다!

#include <iostream>

using namespace std;


long long R[51] = {1, };

long long total = 0;
char str[51];
int N = 0;


int main() {
    
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    
    cin >> N;
    cin >> str;
    
    for(int i = 1; i < N; i++) {
        
        R[i] = (31 * R[i - 1]) % 1234567891;
        
    }
    
    
    for(int i = 0; i < N; i++) {
        
        total = (total + (str[i] - 'a' + 1) * R[i]) % 1234567891;
        
    }
    
    cout << total << "\n";
    
}
반응형