Submission #122424

#TimeUsernameProblemLanguageResultExecution timeMemory
122424IldarKAPalindromic Partitions (CEOI17_palindromic)C++14
15 / 100
10047 ms384 KiB
#include <bits/stdc++.h>

using namespace std;
int mx = 1;
string s;
void rec(int l, int r, int kol){
    if(l > r){
        mx = max(mx, kol);
        return;
    }
    if(r - l + 1 == 1){
        mx = max(mx, kol + 1);
        return;
    }
    int l2 = l, r2 = r;
    string lf, rg;
    while(l2 < r2){
        lf += s[l2];
        rg = s[r2] + rg;
        if(lf != rg){
            mx = max(kol + 1, mx);
        }
        else{
            rec(l2 + 1, r2 - 1, kol + 2);
        }
        l2++;
        r2--;
    }
}
int t;
int main(){
    cin >> t;
    while(t--){
        mx = 0;
        cin >> s;
        rec(0, (int)s.size() - 1, 0);
        cout << mx << '\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...