#define _CRT_SECURE_NO_WARNINGS
#include<bits/stdc++.h>
using namespace std;
#define LL long long
char c;
#define Swap(a,b) c = a,a = b, b = c;
char a[220];
int n;
void pr() {//输出
for (int i = 1; i <= 2 * n + 2; i++)printf("%c", a[i]);
printf("\n");
}
void f(int N) {//递归修改a
if (N == 4) {
printf("ooo--***o*o*o*o*\nooo*o**--*o*o*o*\no--*o**oo*o*o*o*\no*o*o*--o*o*o*o*\n--o*o*o*o*o*o*o*");
return;
}
//第一步:拿一对棋子移到后面
a[N] = a[N + 1] = '-', a[2 * N+1] = 'o', a[2 * N+2] = '*';
pr();
//第二步:用*填上空
Swap(a[N], a[2 * N - 1]); Swap(a[N + 1], a[2 * N]);
pr();
//第三步:递归
f(N - 1);
}
void setted() {//初始化
for (int i = 1; i <= n; i++)a[i] = 'o';
for (int i = n+1; i <= 2*n; i++)a[i] = '*';
a[2 * n + 1] = a[2 * n + 2] = '-';
}
int main() {
scanf("%d", &n);
setted();
pr();
f(n);
}
为什么全WA