字符串哈希0分求助
  • 板块题目总版
  • 楼主cubehead
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/6/12 15:29
  • 上次更新2023/10/23 13:17:55
查看原帖
字符串哈希0分求助
843733
cubehead楼主2023/6/12 15:29

经过哈希的字符串答案都是0,就想知道为什么会这样 代码

#include <bits/stdc++.h>

using namespace std;

const int p = 9999973, base = 171;

int n, h[10001];

int main() {
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        char str[10001];
        scanf("%s", str + 1);
        int res = 0, l = strlen(str);
        for (int i = 1; i <= l; i++) 
            res = (res * base + (str[i] - 'a')) % p;
        h[i] = res;
    }
    sort(h + 1, h + n + 1);
    int ans = 0;
    for (int i = 1; i < n; i++)
        if (h[i] != h[i + 1]) 
            ++ans;
    printf("%d\n", ans);
    return 0;
}
2023/6/12 15:29
加载中...