求助大佬0分,自测样例没问题的
查看原帖
求助大佬0分,自测样例没问题的
544007
lhs_chris楼主2023/7/17 17:55
#include<bits/stdc++.h>
#include<queue>
#include<set>
#include<stack>
#define ll long long
using namespace std;
const int N=1e5+10;
const int M=2023;
const int inf=0x3f3f3f3f;
ll n,step=0,len;
char a[N]; 
void print() 
{
//	printf("step%2d:",step);
	step++;
	for(int i=1;i<=2*n+2;i++)cout<<a[i];
	cout<<"\n";
			
}
void f(int x)
{
	swap(a[x],a[len]);
	swap(a[x+1],a[len+1]);
	len=x;
}
void move(int m)
{
	if(m==4)
	{
		int t[]={4,8,2,7,1};
		for(int i=0;i<5;i++)
		{
			f(t[i]);
			print();
		}
		return;
	}
	f(m);
	print();
	f(2*m-1);
	print();
	move(m-1);
}
int main()
{
	cin>>n;
	len=2*n+1;
	for(int i=1;i<=n;i++)a[i]='o',a[i+n]='*';
	a[len]='-';
	a[len+1]='-';
	print();
	move(n);	
}
2023/7/17 17:55
加载中...