注释写上了,麻烦看一看
查看原帖
注释写上了,麻烦看一看
1373219
acommonman楼主2024/10/24 09:59
#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

2024/10/24 09:59
加载中...