回文串,是一種特殊的字串,它從左往右讀和從右往左讀是一樣的。小龍龍認為回文串才是完美的。現在給你乙個串,它不一定是回文的,請你計算最少的交換次數使得該串變成乙個完美的回文串。
交換的定義是:交換兩個相鄰的字元
例如mamad
第一次交換 ad : mamda
第二次交換 md : madma
第三次交換 ma : madam (回文!完美!)
思路:先判斷是否能成為回文串,然後從頭開始,從後找與之相同的字元,將其移動到末尾,然後末尾向前移動最終到達中心點
#include
#include
#include
#include
char a[
8001];
intmain()
flag=1;
step+
=n/2
-i;}
else
if(a[i]
==a[j]
) jw--
;break;}
}}printf
("%d\n"
,step)
;return0;
}
天理工複試練習
issue 韓信閱兵時,讓一隊士兵 5 人一行排隊從他面前走過,他記下最後一行士兵的人數 1 人 再讓這隊士兵 6 人一行排隊從他面前走過,他記下最後一行士兵的人數 5 人 再讓這隊士兵 7 人一行排隊從他面前走過,他記下最後一行士兵的人數 4 人 再讓這隊士兵 11 人一行排隊從他面前走過,他記下...
東華複試練習8 初級算術
8 初級算術 問題描述 小學一年級學生正在學習多位數加法,從右到左每次一位數字。在運算過程中,進製對學生來講是個難點。你的工作是統計每組加法運算的進製次數,老師根據你的統計結果就可以評估這些題目的難度。輸入說明 每行輸入有兩個正整數。參加運算的數和運算結果保證在32位整數範圍內。輸出說明 對每行輸入...
C語言上機練習及答案(北航複試練習)(二)
第二次作業 數字排序 1.問題描述 編寫乙個程式,將輸入的三個數從小到大排列出來。include void main else if f1 f3 else if f2 f3 printf 按照從小到大的順序輸出 g,g,g n f1,f2,f3 2.問題描述 編寫乙個程式,使用者輸入若干整數,試找出...