`
haishen04
  • 浏览: 3348 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

红、白、蓝三色棋

阅读更多
假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,您希望将之分类,
并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳子上进行这个动作,而且一次只能调换两个旗子。


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

    在这个游戏中,玩家可以选择黑、白或红三种颜色的棋子,每种颜色的棋子连成五子即可获胜。这不仅增加了游戏的变数,也使得玩家需要考虑更多的布局策略。Katago通过大量的自我对弈学习,能够理解并掌握这种复杂的局面...

    红白蓝作图Red White Blue Colormap

    在MATLAB中,"红白蓝作图"(Red White Blue Colormap)是一种颜色映射技术,用于在图像处理和可视化中展示数据。颜色映射是将数据值映射到特定颜色的过程,使得数据的差异可以通过颜色的改变来直观地表示。在科学...

    大图排版简约扁平化红白蓝三色项目计划书ppt模板.rar

    "大图排版简约扁平化红白蓝三色项目计划书ppt模板"正是针对这一需求而设计的专业工具,它能够帮助用户快速制作出专业且具有吸引力的项目计划书。 首先,我们来探讨“大图排版”这一概念。在现代设计中,大图排版...

    绿红蓝三色三周期循环插图PPT模板.pptx

    绿红蓝三色三周期循环插图PPT模板.pptx,绿红蓝三色三周期循环插图PPT,适用于分析因果循环关系等情况,可以用在投资行业PPT中,培训行业PPT中,食品行业PPT中,个性蓝红绿色,循环三周期,使得PPT展示生动有趣。

    Thinkpad 桌面主题安装包 黑白蓝三色

    这款主题包旨在为Thinkpad用户带来视觉上的革新,提供黑、白、蓝三种不同的桌面色调,满足不同用户的审美需求。每种颜色主题都经过精心设计,力求在保持Thinkpad一贯的专业风格的同时,增添一份时尚感。 2. **兼容...

    大图排版简约扁平化红白蓝三色项目计划书PPT模板.pptx

    大图排版简约扁平化红白蓝三色项目计划书PPT模板.pptx

    红蓝紫三色扁平化毕业论文汇报通用ppt模板.rar

    本资源“红蓝紫三色扁平化毕业论文汇报通用ppt模板.rar”提供了一套多色、扁平化设计的PPT模板,特别适用于毕业论文的展示。这个模板融合了蓝色、红色和紫色,旨在创建出既专业又吸引眼球的视觉效果,帮助学生或研究...

    C经典算法之三色棋

    ### C经典算法之三色棋 #### 背景与问题描述 三色旗问题(Three-Color Flag Problem)最初由著名的计算机科学家Edsger W. Dijkstra提出,他在描述该问题时使用了“荷兰国旗问题”(Dutch National Flag Problem)...

    萌式三色围棋M3Go程序(半成品仅贡研究用)

    本程序是我在妙手连珠程序(2004年网冠科技 编著)上修改、编制的萌式三色围棋程序,但目前还属于半成品,还不能实现按规则回合下灰子(花子),而且程序中黑先白后的次序也不知怎么变成了白先黑后。本程序附带有...

    萌式三色围棋M3Go程序Release版

    当一方的棋子被完全包围,无法形成活棋时,这些棋子会被对方提掉,不再计算在内。最后,棋盘上空格多的一方获胜。 萌式三色围棋M3Go在此基础上增加了创新元素,将原本的黑白两色棋子扩展为三种颜色。这不仅提高了...

    PPT模板-黑白蓝三色商务风格通用PPT模板.pptx

    "黑白蓝三色商务风格通用PPT模板"是专为商务场合设计的一款模板,其特点在于简约、专业和易读性。 1. **色彩搭配**:黑白蓝三色的组合是经典的商务色调,黑色代表专业与权威,白色象征纯净和简洁,蓝色则传达信任与...

    蓝红白三色集装箱货货运公司 (1)PPT模板.pptx

    1. **色彩方案**:模板采用蓝、红、白三色为主色调,蓝色通常代表专业与信赖,红色代表活力与行动力,白色则提供清晰的对比,使得内容易于阅读。色彩的搭配不仅符合行业特点,也体现了公司的现代感和专业性。 2. **...

    TQ2440显示屏LCD红蓝绿三色显示裸机程序

    在这个项目中,我们将利用TQ2440的GPIO(通用输入输出)口控制LCD的像素点,实现红、蓝、绿三色的循环显示。 启动代码是嵌入式系统的第一道程序,它负责初始化硬件环境,设置堆栈指针,为上层应用软件提供运行的...

    红蓝粉三色彩带PowerPoint目录模板.rar

    国外网站找到的,红蓝粉三色彩带PowerPoint目录模板下载,关键词:PPT目录素材,幻灯片目录,列表,章节,导航,提纲,彩带背景图片,.PPTX格式;

    C#编写的三色旗

    假设有一条绳子,上面有红、白、蓝三种颜色的旗子,起初绳子上的旗子颜色并没有顺序,您希望将之分类,并排列为蓝、白、红的顺序,要如何移动次数才会最少,注意您只能在绳子上进行这个动作,而且一次只能调换两个...

    蓝红白三色集装箱货货运公司ppt模板.rar

    【标题】"蓝红白三色集装箱货货运公司ppt模板.rar"揭示了这是一个与物流、运输行业相关的PPT模板,特别适用于展示或介绍集装箱货运公司的业务。标题中的“蓝红白三色”可能指的是设计中使用的主题颜色,这通常是为了...

    蓝红白三色集装箱货货运公司 (2)PPT模板.pptx

    在“蓝红白三色集装箱货货运公司 (2)PPT模板.pptx”中,我们可以看到一个专门针对货货运公司的设计,其主题色为蓝、红、白,这三种颜色的搭配有助于提升企业品牌形象,并传达出专业、可靠的信息。 1. **色彩方案**...

    10款PPT配色设计之红蓝粉绿

    本资源"10款PPT配色设计之红蓝粉绿"提供了丰富的色彩组合方案,旨在帮助用户在创建PPT时找到灵感并提升设计品质。 首先,我们来探讨红色。红色通常代表激情、活力和行动,适用于强调重点或唤起情感反应。在PPT中,...

    wordpress主题红白黑三色主题:WPBoxedTech

    1. **色彩搭配**:“WPBoxedTech”主题采用了经典的红、白、黑三色配色方案,这种配色不仅经典耐看,而且能够适用于多种类型的网站,无论是个人博客还是企业官网都能很好地适应。 2. **响应式设计**:该主题支持...

    蓝红白三色集装箱货货运公司 (3)PPT模板.pptx

    1. **色彩方案**:色彩是任何设计的基础,对于货运公司,蓝红白三色可能代表了公司的品牌标识。蓝色常常象征信任和专业,红色则传递活力与效率,白色则代表纯净和简洁。在设计中,这些颜色应以平衡的方式使用,以...

Global site tag (gtag.js) - Google Analytics