社区讨论

80pts,1RE求条

P1259黑白棋子的移动参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@m6t67vb7
此快照首次捕获于
2025/02/06 18:04
去年
此快照最后确认于
2025/02/06 18:22
去年
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
const int N = 1e2 + 5;
#define mod 1e9 + 7
#define upto(i, a, b) for (int i = a; i <= b; i++)
#define downto(i, a, b) for (int i = a; i >= b; i--)
#define rep(i, a, b) for (int i = a; i < b; i++)
int n, s;
char chess[N];
void Reflect_()
{
    upto(i, 1, 2 * n + 2)
    {
        cout << chess[i];
    }
    cout << "\n";
}
void Initial(int n)
{
    s = 2 * n + 1;
    upto(i, 1, n)
    {
        chess[i] = 'o';
    }
    upto(i, n + 1, 2 * n)
    {
        chess[i] = '*';
    }
    upto(i, 2 * n + 1, 2 * n + 2)
    {
        chess[i] = '-';
    }
    Reflect_();
}
void Fdoo(int k)
{
    upto(i, 0, 1)
    {
        chess[s + i] = chess[k + i];
        chess[k + i] = '-';
    }
    s = k;
    Reflect_();
}
void Sdoo(int n)
{
    int k;
    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);
    return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...