#include #include #include #define BLUE 'b' #define WHITE 'w' #define RED 'r' SWAP ( int x,int y ); char color[]={'r','w','b','w','w', 'b','r','b','w','r','\0' }; /* 三色旗问题 假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳子上进行这个动作,而且一次只能调换两个旗子 */ int main() { int wFlag=0; int bFlag=0; int rFlag=strlen ( color )-1; int i; for ( i=0; i