为啥下载下来一样,交上去0
查看原帖
为啥下载下来一样,交上去0
999658
talkwithcpp楼主2024/10/2 16:38
#include<iostream>
#include<cstdio>
using namespace std;

int n;
char c[300];

void f(int k);
void print();

int main()
{
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);

	cin >> n;
	for (int i = 1; i <= n; ++i) c[i] = 'o';
	for (int i = n + 1; i <= 2 * n; ++i) c[i] = '*';
	c[2 * n + 1] = c[2 * n + 2] = '-';

	print();
	f(n);
	return 0;
}

inline void move(int a, int b)
{
	swap(c[a], c[b]);
}
string s[6] =
{
	"",
	"ooo--***o*",
	"ooo*o**--*",
	"o--*o**oo*",
	"o*o*o*--o*",
	"--o*o*o*o*"
};
void f(int k)
{
	if (k == 4)
	{
		for (int i = 1; i <= 5; ++i)
		{
			cout << s[i];

			for (int i = 1; i <= (2 * n + 2) / 2 - 5; ++i) printf("o*");

			cout << endl;
		}
		return;
	}

	move(k, 2 * k + 1);
	move(k + 1, 2 * k + 2);
	print();

	move(2 * k, k);
	move(2 * k - 1, k + 1);
	print();
	f(k - 1);
}

void print()
{
	for (int i = 1; i <= 2 * n + 2; ++i) cout << c[i];
	cout << endl;
}

2024/10/2 16:38
加载中...