Submission #1312687

#TimeUsernameProblemLanguageResultExecution timeMemory
1312687boclobanchatPalindromic Partitions (CEOI17_palindromic)C++20
100 / 100
31 ms3136 KiB
#include<bits/stdc++.h>
using namespace std;
const long long mod=2702200927022011;
const long long base=31;
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin>>t;
	while(t--)
	{
		string s;
		cin>>s;
		int n=s.length();
		s=' '+s;
		int r=n,ans=0;
		long long va=0,vb=0,pw=1;
		for(int i=1;i<=r;i++)
		{
			va=(va*base+s[i]-'a'+1)%mod,vb=(vb+(s[n-i+1]-'a'+1)*pw)%mod,pw=pw*base%mod;
			if(va==vb) ans+=1+(i!=r),r=n-i,va=vb=0,pw=1;
		}
		cout<<ans<<"\n";
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...