美文网首页
2020-08-24 黑白棋子的移动

2020-08-24 黑白棋子的移动

作者: JalorOo | 来源:发表于2020-08-24 19:38 被阅读0次

https://www.luogu.com.cn/problem/P1259

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <sstream>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;

long long qmi(int m, int k)
{
    int res = 1, t = m;
    while (k)
    {
        if (k&1) res = res * t;
        t = t * t;
        k >>= 1;
    }
    return res;
}

int read(){
    int x = 0,f = 1;
    char c = getchar();
    while (c<'0'||c>'9') {
        if (c=='-') {
            f = -1;
        }
        c = getchar();
    }
    while (c>='0'&&c<='9') {
        x = x*10+c-'0';
        c = getchar();
    }
    return x*f;
}

int n,s;
char chess[101];

void Reflect_(){//输出现在存储的chess数组
    for(int i=1 ; i<=2*n+2 ;i++){
        cout<<chess[i];
    }
    cout<<endl;
}

void Initial(int n){//初始化
    s = 2*n + 1;
    for(int i=1;i<=n;i++){
        chess[i]='o';
    }
    for(int i=n+1;i<=2*n;i++){
        chess[i]='*';
    }
    for(int i = s;i<=2*n+2;i++){
        chess[i]='-';
    }
    Reflect_();
}

void Fdoo(int k){//使得k位与s位交换
    for(int i = 0;i <= 1;i++){
        chess[s+i] = chess[k+i];
        chess[k+i] = '-';
    }
    s = k;
    Reflect_();
}

void Sdoo(int n){
    if(n==4){
        Fdoo(4);
        Fdoo(8);
        Fdoo(2);
        Fdoo(7);
        Fdoo(1);
    } else {
        Fdoo(n);
        Fdoo(2*n-1);
        Sdoo(n-1);
    }
}

int main()
{
    cin>>n;
    Initial(n);//初始化
    Sdoo(n);
}
/*
7
============
 ooooooo*******--
 oooooo--******o*
 oooooo******--o*
 ooooo--*****o*o*
 ooooo*****--o*o*
 oooo--****o*o*o*
 oooo****--o*o*o*
 ooo--***o*o*o*o*
 ooo*o**--*o*o*o*
 o--*o**oo*o*o*o*
 o*o*o*--o*o*o*o*
 --o*o*o*o*o*o*o*
*/

相关文章

  • 2020-08-24 黑白棋子的移动

    https://www.luogu.com.cn/problem/P1259

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

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

  • Python实现黑白棋人机对弈

    Python实现黑白棋人机对弈 规则 黑白棋的每颗棋子由黑白两色组成,一面白,一面黑。每次落子,把本方颜色的棋子放...

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

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

  • 今天我上了围棋课。

    今天我们上了围棋课。今天我们学了围棋的规则。围棋的规则就是下了棋子不能移动。我特别喜欢围棋课。虽然只是两个人玩黑白...

  • 20 棋子移动

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

  • 黑白棋子

    游戏参与者:上(5岁3个月) 游戏过程: 上:老师,我知道,这是五子棋,我在家还玩过呢!今天这个也是做游戏的吗? ...

  • 黑白棋子

    为了心中的信仰,倾尽全力,无所畏惧 一生都为棋手所操纵 各为其主,践行使命,不问对错 正义与邪恶,界限模糊交融,甚...

  • 请用玫瑰纪念

    请用玫瑰纪念 华灯初上是夜的容光 霓虹漫流的朦胧 坠入长河的惆怅 上帝在移动黑白棋子的时候 远山失去了清风 心中没...

  • 黑白不迷宫

    地面上散落许多黑白棋子,一群人争先恐后抢拾棋子。据说,拾到的黑色棋子,可以换取金钱,拾到的白色棋子,可以换得良知。...

网友评论

      本文标题:2020-08-24 黑白棋子的移动

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