문제
풀이
주어진 식대로 계산하면 된다.
#include <iostream>
#include <string>
using namespace std;
int main() {
int n;
long long hash = 0, r = 1, m = 1234567891;
string str;
cin >> n >> str;
for (int i = 0; i < str.length(); i++) {
hash = (hash + (str[i] - 'a' + 1) * r) % m;
r = (r *31) % m;
}
cout << hash;
return 0;
}
'백준 > 기타' 카테고리의 다른 글
2609번: 최대공약수와 최소공배수 [C++] (0) | 2023.04.06 |
---|---|
1259번: 팰린드롬수 [C++] (0) | 2023.04.06 |
4153번: 직각삼각형 [C++] (0) | 2023.04.06 |
2903번: 중앙 이동 알고리즘 [C++] (0) | 2023.04.03 |
2720번: 세탁소 사장 동혁 [C++] (0) | 2023.04.03 |