描述
荷蘭國旗有三橫條塊構成,自上到下的三條塊顏色依次為紅、白、藍。現有若干由紅、白、藍三種顏色的條塊序列,要將它們重新排列使所有相同顏色的條塊在一起。本問題要求將所有紅色的條塊放最左邊、所有白色的條塊放中間、所有藍色的條塊放最右邊。 輸入
第1行是乙個正整數n(n<100),表示有n組測試資料。接下來有n行,每行有若干個由r,w,b三種字元構成的字串序列,其中r,w和b分別表示紅、白、藍三種顏色的條塊,每行最多有1000個字元。
輸出對輸入中每行上由r,w,b三種字元構成的字串序列,將它們重新排列使所有相同顏色的條塊在一起,滿足前述要求。
樣例輸入
3bbrrwbwrrr
rrrwwrwrb
rbrw
樣例輸出
rrrrrwwbbbrrrrrwwwb
rrwb
**:
01.
#include
02.
#include
03.
using
namespace
std;
04.
int
main()
05.
26.
}
27.
//cout<
28.
for
(i = 0;i < j;i++)
29.
cout<<
"r"
;
30.
for
(i = 0;i < k;i++)
31.
cout<<
"w"
;
32.
for
(i = 0;i < m;i++)
33.
cout<<
"b"
;
34.
cout<
35.
}
36.
return
0;
37.
}
荷蘭國旗問題
上方的便是乙個荷蘭國旗,從圖中我們可以很清楚的看出它的特點,它有三個區域組成,即紅,白,藍。好,現在我們的問題出來了。現在我們面前有一張桌子,桌子上整齊的擺放著紅色,白色,藍色三種線條,但他們的順序是凌亂的。我們的要求是 用乙個演算法把這些線條挑出來重新擺放順序,最後的結果就像上圖的荷蘭國旗,紅色在...
荷蘭國旗問題
問題 荷蘭國旗是由紅白藍三種顏色組成,現假設很多這三種顏色的線被打亂放置,要求從頭掃瞄一遍,3種顏色自然分開,顏色順序是紅,白,藍。問題分析 1 編碼 題目中有三種顏色,可以用0 紅,1 白,2 藍進行編碼。3 演算法 a 把n個0,1,2三種元素隨機放入陣列模擬很多這三種顏色的線被打亂放置的場景 ...
荷蘭國旗問題
荷蘭的國旗由紅色 白色和藍色3種顏色組成。現在假設有很多這3種顏色的線被存放在乙個陣列裡,要求每次操作僅能進行一次交換,在原陣列的基礎上操作。待對陣列進行一遍掃瞄後,3種顏色自然分開,顏色順序為紅 白 藍。另外,要求在o n 的複雜度下,是移動次數最少。荷蘭國旗問題 include include ...