80求助
查看原帖
80求助
1086541
18732010135dd楼主2024/12/5 13:57
#include<bits/stdc++.h>
using namespace std;
int n,step,rt;
char a[110];
void print(){
	for(int i=1;i<=2*n+2;i++){
		cout<<a[i];
	}
	cout<<endl;
	step++;
}
void mv(int k){
	a[rt]=a[k];
	a[rt+1]=a[k+1];
	a[k]='-';a[k+1]='-';
	rt=k;
	print();
}
void mov(int n){
	if(n==4){
		mv(4);
		mv(8);
		mv(2);
		mv(7);
		mv(1);
	}else{
		mv(n),mv(2*n-1),mov(n-1);
	}
}
int main(){
	cin>>n;
	step=0,rt=2*n+1;
	for(int i=1;i<=2*n+2;i++){
		if(i<=n){
			a[i]='o';
		}else if(i>n&&i<=2*n){
			a[i]='*';
		}else{
			a[i]='-';
		}
	}
	print();
	mov(n);
	return 0;
}
2024/12/5 13:57
加载中...