- 문제의 Base Condition을 이용한다 : str.size()==1
- 현재 문자열이 팰린드롬임을 확인한다.
- 문자열을 두 갈래로 재귀 실행한다. substr(),ceil()사용 //ceil()은 홀수, 짝수 구분 없이 구현하기 위함
#include<bits/stdc++.h>
using namespace std;
string str;
bool isPal(string str){
for(int i = 0; i < str.size() / 2; ++i){
if(str[i] != str[str.size() - i - 1]) return false;
}
return true;
}
bool recursive(string str){
if(str.size() == 1) return true;
else if(!isPal(str)) return false;
return recursive(str.substr(0, str.size() / 2)) && recursive(str.substr(ceil(str.size() / 2.0f), str.size() / 2));
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> str;
if(recursive(str)) cout << "AKARAKA";
else cout << "IPSELENTI";
return 0;
}