求助
查看原帖
求助
192397
Trexmao楼主2021/1/24 09:26

如题,样例输出15,调半天挑不出错,代码求调试

#include<iostream>
using namespace std;
unsigned long long Hash(string s,int st,int end){
	int base=232,t=1;
	unsigned long long int ans=0;
	for(int i=st;i<end;i++){
		ans+=t*s[i];
	}
	return ans;
}
int ans(string a,string b){
	int ans=min(a.size(),b.size());
	for(;ans>=0;ans--){
		int asha=Hash(a,a.size()-ans,a.size()),ashb=Hash(b,0,ans);
		if(asha==ashb){
			return ans;
		}
	}
}
int main(){
	string a,b;
	cin>>a>>b;
	cout<<max(ans(a,b),ans(b,a));
}
2021/1/24 09:26
加载中...