20 棋子移动

作者: DONGWEILAI | 来源:发表于2020-05-04 23:48 被阅读0次

魔法世界的历史上曾经出现过一位赫赫有名的不败战神陈庆之,陈庆之以棋道悟兵法,一生身经数百战,没有一场败绩,而且没有一场不是在绝对的劣势中大胜敌军。
受此影响,魔法世界开始流行一种叫棋子移动的游戏,即有2N个棋子(N≥4)排成一行,开始位置为白子全部在左边,黑子全部在右边,例如当N=4时,棋子排列情况为:
〇〇〇〇●●●●
移动棋子的规则是:每次必须同时移动相邻两个棋子,颜色不限,可以左移也可以右移到空位上去,但不能调换两个棋子的左右位置.每次移动必须跳过若干个棋子(不能平移),要求最后能移成黑白相间的一行棋子。例如当N=4时,最终排列情况为:
〇●〇●〇●〇●
试求出移动步骤。

【输入格式】
一个整数,即N。

【输出格式】
输出移动步骤,每一步操作占一行。

【输入样例】
4
【输出样例】
4,5-->9,10
8,9-->4,5
2,3-->8,9
7,8-->2,3
1,2-->7,8

package algorithmclassic.ch02;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author Dylan
 * @date 2020/5/4 - 22:58
 */
public class Q20 {
    static int j;
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        j = 2 * n + 1;
        f(n);
    }

    public static void move(int i){
        System.out.printf("%d,%d-->%d,%d\n", i, i + 1, j, j + 1);
        j = i;
    }

    // 全部转换成4的情况
    public static void f(int n){
        if(n == 4){
            move(4);
            move(8);
            move(2);
            move(7);
            move(1);
        }else{
            move(n);
            move(2 * n - 1);
            f(n - 1);
        }
    }
}



相关文章

  • 20 棋子移动

    魔法世界的历史上曾经出现过一位赫赫有名的不败战神陈庆之,陈庆之以棋道悟兵法,一生身经数百战,没有一场败绩,而且没有...

  • cocos2d-x3.14中国象棋AI(五)移动棋子1

    我们在选中棋子之后理所当然就是要移动棋子,要移动棋子我们不知需要知道选中的棋子点信息,还需要知道选中棋子后玩家下一...

  • Android象棋游戏开发之--游戏规则

    源码下载 棋盘棋子绘制完成后,接下来玩家要移动棋子开始与机器对弈。那么如何判断当前棋子移动合法? 棋盘中所有的位置...

  • 21 棋子移动2

    21 棋子移动2现在,修罗王和邪狼已经陷入了魔法棋阵中,魔法棋阵有2N个棋子(N≥4)排成一行,开始位置为白子全部...

  • html自编造五炮小游戏

    游戏规则:红色背面棋子可以翻出红炮,红炮可以隔两个红色棋子或一个黑色棋子落下,落下后成为黑炮,黑炮不可移动。目标:...

  • 13_3跳格子

    你和你的朋友正在玩棋子跳格子的游戏,而棋盘是一个由n个格子组成的长条,你们两人轮流移动一颗棋子,每次可以选择让棋子...

  • 读懂棋谱

    棋谱规则 一步棋的走法通常由4个字组成,如:车一平二,前两个字定位棋子,后两个字描述棋子移动位置 定位棋子 象棋棋...

  • 【坚持】【坚持】7.25践行d42

    数理,百数方格, 1,快速把棋子摆满,知道每行有十个棋子,但我说第二行有几个棋子时还是说20!就加强训练指认并区分...

  • 博尔赫斯之谜

    “是上帝移动棋手,棋手移动棋子, 又是什么上帝,在上帝背后设计了 这尘土,时间,梦幻和痛苦的布局?”(王央乐 译)...

  • 象棋中的智慧——来自索罗斯操盘手尼德霍夫象棋导师魏斯威的教诲

    游戏规则 1. 走最不因扰你布局的棋步,让对手最困扰。 2. 两个人坐下来,移动棋子之后,棋子才会变活,乐趣才开始...

网友评论

    本文标题:20 棋子移动

    本文链接:https://www.haomeiwen.com/subject/yrbughtx.html