Algorithm Gossip 三色旗問題

2021-08-01 04:51:16 字數 902 閱讀 6216

【問題】假設有一條繩子,上面有紅白藍三種顏色的旗子,開始時旗子的顏色並沒有順序,現將其分類,排成藍白紅的順序,每次只能調換兩個旗子,問怎樣移動次數最少?

【演算法分析】排列順序是b、w、r,定義三個指標:

1、b永遠指向第乙個不是b的元素;

2、w是遍歷的指標,向前移動,並判斷指向元素,如果指向w則繼續前進,如果指向b則與b指向的元素交換,b、w各向前方移動一位,,如果是r則與r指向的元素交換,b、r各向中間移動一位;

3、r從結尾開始永遠指向第乙個不是r的元素。

【**實現】

Algorithm Gossip 生命遊戲

file name arithmetic.c creat data 2015.1.31 author zy algorithm gossip 生命遊戲 生命遊戲 game of life 為1979年由英國數學家j.h.conway 所提出的,某一細胞的鄰居包括上,下,左,右,左上,左下,右上與右下...

Algorithm Gossip 費式數列

問題描述 fibonacci 為1200 年代的歐洲數學家 在他的著作中曾經提到 若有乙隻免子每個月生乙隻小免子 乙個月後小免子也開始生產。起初只有乙隻免子,乙個月後就有兩隻免子,二個月後有三隻免子,三個月後有五隻免子 小免子投入生產 如果不太理解這個例子的話,舉個圖就知道了,注意新生的小免子需乙個...

Algorithm Gossip 老鼠走迷宮(一)

file name arithmetic.c creat data 2015.1.31 author zy algorithm gossip 老鼠走迷宮 一 遞迴求解的基本題型 在二維陣列中2表示牆壁,1表示路線 include include int maze 7 7 int starti 1,s...