Module: băm


Problem

1/8

băm chuỗi kép

Theory Click to read/hide

Error

Problem

Bạn được cung cấp t truy vấn, trong mỗi truy vấn bạn được cung cấp một chuỗi s bao gồm các chữ cái Latinh viết thường, một số p và một số mod.
Đối với mỗi truy vấn, hãy tính toán cơ sở băm modulo đa thức p của chuỗi là chuỗi s, trong đó mỗi chữ cái được nhân đôi. Nghĩa là, nếu s = "isaac", thì bạn cần tính hàm băm từ chuỗi "iissaaaacc".

Đầu vào:
Dòng đầu tiên chứa số t - số lượng yêu cầu.
Sau đó, có t dòng, mỗi dòng chứa s (1 <= |s| <= 20), p (1 <= p <= 105) và mod ( 1 <= mod <= 108).

Đầu ra:
In câu trả lời cho truy vấn, mỗi câu trên một dòng riêng biệt.

Ví dụ:
 
Đầu vào Đầu ra
2
isaac 12345 87654321
newton 54321 12345678
8829000
9632318
Write the program below
#include<bits/stdc++.h>
using namespace std;

long long calc_hash(const string& s, long long p, long long mod) {
	long long h = 0;
	for (int i = 0; i < s.size(); i++) {
		h = 
	     
}
	return h;
}

int main()
{
	int t;
	cin >> t;

	while (t--) {
		string s;
		long long p, mod;
		cin >> s >> p >> mod;
		cout << calc_hash(s, p, mod) << '\n';
	}

	return 0;
}
     

     

Program check result

To check the solution of the problem, you need to register or log in!