假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,您希望将之分类,
并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳子上进行这个动作,而且一次只能调换两个旗子。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ThreeColorsFlags {
private void swap(char[] flags, int x, int y) {
char temp;
temp = flags[x];
flags[x] = flags[y];
flags[y] = temp;
}
public String move(char[] flags) {
int wFlag = 0;
int bFlag = 0;
int rFlag = flags.length - 1;
while(wFlag <= rFlag) {
if(flags[wFlag] == 'W') {
wFlag++;
}
else if(flags[wFlag] == 'B') {
swap(flags, bFlag, wFlag);
bFlag++;
wFlag++;
}
else {
while(wFlag < rFlag && flags[rFlag] == 'R')
rFlag--;
swap(flags, rFlag, wFlag);
rFlag--;
}
}
return new String(flags);
}
public static void main(String[] args)throws IOException
{
BufferedReader buf;
buf = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("输入三色棋顺序(ex. RWBBWRWR):");
String flags = buf.readLine();
ThreeColorsFlags threeColorsFlag = new ThreeColorsFlags();
flags = threeColorsFlag.move(
flags.toUpperCase().toCharArray());
System.out.println("移动顺序后:" + flags);
}
}
分享到:
相关推荐
在这个游戏中,玩家可以选择黑、白或红三种颜色的棋子,每种颜色的棋子连成五子即可获胜。这不仅增加了游戏的变数,也使得玩家需要考虑更多的布局策略。Katago通过大量的自我对弈学习,能够理解并掌握这种复杂的局面...
在MATLAB中,"红白蓝作图"(Red White Blue Colormap)是一种颜色映射技术,用于在图像处理和可视化中展示数据。颜色映射是将数据值映射到特定颜色的过程,使得数据的差异可以通过颜色的改变来直观地表示。在科学...
"大图排版简约扁平化红白蓝三色项目计划书ppt模板"正是针对这一需求而设计的专业工具,它能够帮助用户快速制作出专业且具有吸引力的项目计划书。 首先,我们来探讨“大图排版”这一概念。在现代设计中,大图排版...
绿红蓝三色三周期循环插图PPT模板.pptx,绿红蓝三色三周期循环插图PPT,适用于分析因果循环关系等情况,可以用在投资行业PPT中,培训行业PPT中,食品行业PPT中,个性蓝红绿色,循环三周期,使得PPT展示生动有趣。
这款主题包旨在为Thinkpad用户带来视觉上的革新,提供黑、白、蓝三种不同的桌面色调,满足不同用户的审美需求。每种颜色主题都经过精心设计,力求在保持Thinkpad一贯的专业风格的同时,增添一份时尚感。 2. **兼容...
大图排版简约扁平化红白蓝三色项目计划书PPT模板.pptx
本资源“红蓝紫三色扁平化毕业论文汇报通用ppt模板.rar”提供了一套多色、扁平化设计的PPT模板,特别适用于毕业论文的展示。这个模板融合了蓝色、红色和紫色,旨在创建出既专业又吸引眼球的视觉效果,帮助学生或研究...
### C经典算法之三色棋 #### 背景与问题描述 三色旗问题(Three-Color Flag Problem)最初由著名的计算机科学家Edsger W. Dijkstra提出,他在描述该问题时使用了“荷兰国旗问题”(Dutch National Flag Problem)...
本程序是我在妙手连珠程序(2004年网冠科技 编著)上修改、编制的萌式三色围棋程序,但目前还属于半成品,还不能实现按规则回合下灰子(花子),而且程序中黑先白后的次序也不知怎么变成了白先黑后。本程序附带有...
当一方的棋子被完全包围,无法形成活棋时,这些棋子会被对方提掉,不再计算在内。最后,棋盘上空格多的一方获胜。 萌式三色围棋M3Go在此基础上增加了创新元素,将原本的黑白两色棋子扩展为三种颜色。这不仅提高了...
"黑白蓝三色商务风格通用PPT模板"是专为商务场合设计的一款模板,其特点在于简约、专业和易读性。 1. **色彩搭配**:黑白蓝三色的组合是经典的商务色调,黑色代表专业与权威,白色象征纯净和简洁,蓝色则传达信任与...
1. **色彩方案**:模板采用蓝、红、白三色为主色调,蓝色通常代表专业与信赖,红色代表活力与行动力,白色则提供清晰的对比,使得内容易于阅读。色彩的搭配不仅符合行业特点,也体现了公司的现代感和专业性。 2. **...
在这个项目中,我们将利用TQ2440的GPIO(通用输入输出)口控制LCD的像素点,实现红、蓝、绿三色的循环显示。 启动代码是嵌入式系统的第一道程序,它负责初始化硬件环境,设置堆栈指针,为上层应用软件提供运行的...
国外网站找到的,红蓝粉三色彩带PowerPoint目录模板下载,关键词:PPT目录素材,幻灯片目录,列表,章节,导航,提纲,彩带背景图片,.PPTX格式;
假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳子上进行这个动作,而且一次只能调换两个...
【标题】"蓝红白三色集装箱货货运公司ppt模板.rar"揭示了这是一个与物流、运输行业相关的PPT模板,特别适用于展示或介绍集装箱货运公司的业务。标题中的“蓝红白三色”可能指的是设计中使用的主题颜色,这通常是为了...
在“蓝红白三色集装箱货货运公司 (2)PPT模板.pptx”中,我们可以看到一个专门针对货货运公司的设计,其主题色为蓝、红、白,这三种颜色的搭配有助于提升企业品牌形象,并传达出专业、可靠的信息。 1. **色彩方案**...
本资源"10款PPT配色设计之红蓝粉绿"提供了丰富的色彩组合方案,旨在帮助用户在创建PPT时找到灵感并提升设计品质。 首先,我们来探讨红色。红色通常代表激情、活力和行动,适用于强调重点或唤起情感反应。在PPT中,...
1. **色彩搭配**:“WPBoxedTech”主题采用了经典的红、白、黑三色配色方案,这种配色不仅经典耐看,而且能够适用于多种类型的网站,无论是个人博客还是企业官网都能很好地适应。 2. **响应式设计**:该主题支持...
1. **色彩方案**:色彩是任何设计的基础,对于货运公司,蓝红白三色可能代表了公司的品牌标识。蓝色常常象征信任和专业,红色则传递活力与效率,白色则代表纯净和简洁。在设计中,这些颜色应以平衡的方式使用,以...