試題描述
輸入乙個小寫字母組成的字串,你的任務是把它劃分成盡量少的回文串。例如 racecar 本身就是乙個回文串,fastcar只能分成7個單字母的回文串。aaadbccb最少分成3個回文串,aaa,d,bccb.所給字串長度不會超過1000.
輸入一行,包括符合題目描述的乙個字串。
輸出乙個數,表示可分成回文串的最少個數。
輸入示例
aaadbccb
輸出示例
3
#include#includeview code#include
#include
#include
using
namespace
std;
char a[1010
];int dp[1010
];bool huiwen(int left,int right)//
判斷劃分後是否是回文串
return1;
}int
main()
}printf("%d
",dp[l]);
return0;
}
劃分成回文串
題目大意 給乙個字串,要求把它分割成若干個子串,使得每個子串都是回文串。問最少可以分割成多少個。字串長度不超過1000。例如 racecar 本身就是回文串,答案為1 fastcar 答案為7,分成的7個回文串為 f a s t c a r aaadbccb 答案為3,分成的3個回文串為 aaa d...
A 數的劃分
a 數的劃分 將整數n 分成 k份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7,k 3,下面三種分法被認為是相同的。1,1,5 1,5,1 5,1,1 問有多少種不同的分法。輸入格式 第一行有兩個整數 n,k 6sample input 7 3 sample output 解題思路...
回文數 第N個回文數
判斷回文數還是不難,如果能轉為字串就更簡單了。如果是求第n個回文數呢。12321是乙個回文數,這裡先考慮一半的情況。回文數的個數其實是有規律的。如 1位回文數 9個 2位回文數 9個 3位回文數 90個 4位回文數 90個 5位回文數 900個 6位回文數 900個 我們看到9 90 900,是不是...