Partitioning by Palindromes

来源:互联网 发布:杜兰特身体数据 编辑:程序博客网 时间:2024/05/16 07:46
#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <climits>using std::min;const int MAXN(1010);const int INFI((INT_MAX-1) >> 1);char str[MAXN];int table[MAXN];bool is_palindromes(int l, int r){while(l < r){if(str[l] != str[r])return false;++l;--r;}return true;}int main(){int T;scanf("%d", &T);while(T--){scanf("%s", str+1);int len = strlen(str+1);for(int i = 1; i <= len; ++i){table[i] = INFI;for(int j = 0; j < i; ++j)if(is_palindromes(j+1, i))table[i] = min(table[i], table[j]+1);}printf("%d\n", table[len]);}return 0;}

原创粉丝点击