第三个点wa掉了,求dalao调教qwq
查看原帖
第三个点wa掉了,求dalao调教qwq
520764
wzh156楼主2024/8/10 10:50
#include <iostream>
#include <cstring>
#define N 1000005
#define ull unsigned long long
using namespace std;
string s;
int n;
ull p=1331;
ull h1[N],h2[N];
signed main(){
	cin>>n>>s;
	h1[0]=s[0];
	h2[n-1]=s[n-1];
	for(int i=n-2;i>=1;i--){
		h2[i]=h2[i+1]*p+s[i];
	}
	for(int i=1;i<=n;i++){
		h1[i]=h1[i-1]+s[i]*p;
		p*=1331;
	}
	for(int i=n-2;i>=1;i--){
		if(h1[i]==h2[n-i-1]){
			cout<<n-i-1;
			return 0;
		}
	}
	cout<<n;
	return 0;
}
2024/8/10 10:50
加载中...