80pts,1RE求条
查看原帖
80pts,1RE求条
1319065
yxszcxl楼主2025/2/6 18:02
#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;
}
2025/2/6 18:02
加载中...