제출 #1158981

#제출 시각아이디문제언어결과실행 시간메모리
1158981ocasuPalindromic Partitions (CEOI17_palindromic)C++20
0 / 100
0 ms320 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long


int n; 
string s;

bool equals(int l1, int r1, int l2, int r2){
    string s1 = "", s2 = "";
    for (int i=l1; i<=r1; i++) s1 += s[i];
    for (int i=l2; i<=r2; i++) s2 += s[i];
    return s1==s2;
}

signed main(){
    cin>>s;
    n=(int)(s.length());
    s=" "+s;
    int ans=0;
    for (int i=1; i<=(n+1)/2; i++){
        int r=i;
        while (r<=n-i+1 and equals(i,r,n-r+1,n-i+1)==false){
            r++;
        }
        //cout<<"I "<<i<<' '<<r<<'\n';
        ans+=2;
        if (i==n-r+1 and r==n-i+1) ans--;
        
        i=r;
    }


    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...