https://www.acmicpc.net/problem/15829
15829번: Hashing
APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정
www.acmicpc.net
#include <iostream>
#include <cmath>
#include <string>
#define mod 1234567891LL;
using namespace std;
int main() {
int N; cin >> N;
string str; cin >> str;
unsigned long hash = 0;
unsigned long mul = 1;
for (int i = 0; i < N; i++) {
long long tmp = (str[i] - 'a' + 1);
tmp *= mul;
tmp %= mod;
hash += tmp;
mul *= 31;
mul %= mod;
}
hash %= mod;
cout << hash << endl;
return 0;
}'전공공부 > 코딩테스트' 카테고리의 다른 글
| (c++) 백준 "2775) 부녀회장이 될테야" (0) | 2022.06.02 |
|---|---|
| (c++) 백준 "1259) 팰린드롬수" (0) | 2022.06.02 |
| (c++) 백준 "2798) 블랙잭" (0) | 2022.06.02 |
| (c++) 백준 "2292) 벌집" (0) | 2022.06.02 |
| (c++) 백준 "10250) ACM 호텔" (0) | 2022.06.02 |