Submission #1017372

#TimeUsernameProblemLanguageResultExecution timeMemory
1017372cnn008Palindromic Partitions (CEOI17_palindromic)C++17
60 / 100
10026 ms5440 KiB
#include "bits/stdc++.h"
using namespace std;

#ifdef N_N_C
#include "debug.h"
#else
#define cebug(...) "Arya"
#endif

#define ll long long

const int N=1e6+5;
const int mod=1e9+7;

int n,ans;
string s;
bool cmp(string &a, string &b){
	for(int i=0; i<(int)a.size(); i++) if(a[i]!=b[i]) return 0;
	return 1;
}
void sol(){
	ans=0;
	cin>>s;
	n=(int)s.size();
	s=' '+s;
	int l=1,r=n;
	while(l<=r){
		int _l=l,_r=r,f=0;
		string cur,revcur;
		while(_l<_r){
			cur.push_back(s[_l++]);
			revcur.push_back(s[_r--]);
			reverse(revcur.begin(),revcur.end());
			if(cmp(cur,revcur)){
				ans+=2;
				f=1;
				break;
			}
			reverse(revcur.begin(),revcur.end());
		}
		if(!f){
			ans++;
			break;
		}
		l=_l;
		r=_r;
	}
	cout<<ans<<"\n";
}
signed main(){
	ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    // freopen(".inp", "r", stdin);
    // freopen(".out", "w", stdout);
    int tt=1;
    cin>>tt; 
    while(tt--){
    	sol();
    }
    cerr << "\nTime elapsed: " << 1000.0 * clock() / CLOCKS_PER_SEC << " ms.\n";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...