時間限制:
3000 ms | 記憶體限制:
65535 kb
難度:4
描述 所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如"aba"。當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字串。
輸入第一行給出整數n(0接下來的n行,每行乙個字串,每個字串長度不超過1000.
輸出
每行輸出所需新增的最少字元數
樣例輸入
1 ab3bd
樣例輸出
2
//先求出輸入字串的逆序列,求出兩個字串的最長子序列的長度,用總長度減去最長子序列的長度,就是需要補充的字元的個數
#include
#include
int result = 0;
short c[1001][1001];
int max(int a,int b)
void lcs(char *str1,char *str2,int m,int n)
for(i = 0;i<=n;i++)
for(i = 1;i<=n;i++)
else
if(c[i-1][j]>=c[i][j-1])
else
}
} }void reverse(char *str1,char *str2)
int main()
}
回文字串
描述 所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如 aba 當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在 要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文字串。輸入第一行給出整數n 0思路分析 1.判斷字串前後倆個字元...
回文字串
還是在龐果網 看到的題目,這次選了個簡單的,回文字串。題目內容 回文字串是指從左到右和從右到左相同的字串,現給定乙個僅由小寫字母組成的字串,你可以把它的字母重新排列,以形成不同的回文字串。思路 不滿足上面條件的直接返回0,因為這樣構不成回文 判斷出能形成回文以後,將元素減半,在字串一半的長度內進行組...
回文字串
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的,比如 aba 當然,我們給你的問題不會再簡單到判斷乙個字串是不是回文字串。現在要求你,給你乙個字串,可在任意位置新增字元,最少再新增幾個字元,可以使這個字串成為回文...