Submission #1156624

#TimeUsernameProblemLanguageResultExecution timeMemory
1156624kadirPalindromic Partitions (CEOI17_palindromic)C++20
100 / 100
34 ms3952 KiB
#include<bits/stdc++.h>
#include <string>
#define ll long long
#define ss second
#define ff first
#define pb push_back
#define mod 1000000007
#define endl "\n"
#define bb 99999989
using namespace std;
	ll t,n;
	string s;
int main(){
    ios::sync_with_stdio(false);
    cout.tie(0);
    cin.tie(0);
	cin>>t;
    while(t--){
        cin>>s;
        n=s.size();
        s=" "+s;
        ll o=0,sum=1,w=0,p=1;
        for(ll i=1;i<=n/2;i++){
            o=(o*bb+s[i]-'a'+1)%mod;
            w=((s[n-i+1]-'a'+1)*p+w)%mod;
            p=p*bb%mod;
            if(o==w){
                if(i*2==n){sum--;}
                o=w=0;
                p=1;
                sum+=2;
            }
        }
        cout<<sum<<endl;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...