又是我们亲爱的一本通的题这里
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
ull t,power[1000001],B=,H=,h[1000001],ans;
char a[100001],b[10000001];
int main()
{
power[0]=1;
for(int i=1;i<=1000000;i++)
power[i]=power[i-1]*B;
cin>>t;
while(t--)
{
ans=0;
scanf("%s%s",a+1,b+1);
ull n=strlen(a+1),m=strlen(b+1);
h[0]=0;
for(int i=1;i<=m;i++)
h[i]=(h[i-1]*B+(ull)(b[i]-'A'+1))%H;
ull sum=0;
for(int i=1;i<=n;i++)
sum=(sum*B+(ull)(a[i]-'A'+1))%H;
for(int i=0;i<=m-n;i++)
if(sum==h[i+n]-h[i]*power[n])
ans++;
cout<<ans<<endl;
}
return 0;
}
请问各位大佬,这道题B和H选什么好?