提交时间:2019-11-10 09:26:52

运行 ID: 2187

#include<iostream> #include<cstdio> #include<cstdlib> using namespace std; int n,nowp,num; char c[100]; void init(int); void move(int); void mov(int); int print(); int main() { scanf("%d",&n); init(n); mov(n); return 0; } int print() { cout<<"step "<<num<<":"; for(int i=1; i<=2*n+2; i++) cout<<c[i]; cout<<endl; num++; } void init(int n) { nowp=n*2+1; for(int i=1; i<=n; i++)c[i]='o'; for(int i=n+1; i<=2*n; i++)c[i]='*'; c[n*2+1]='-'; c[n*2+2]='-'; print(); } void mov(int n) { if(n==4) { move(4); move(8); move(2); move(7); move(1); } else { move(n); move(2*n-1); mov(n-1); } } void move(int n) { for(int i=0; i<=1; i++) { c[nowp+i]=c[n+i]; c[n+i]='-'; } nowp=n; print(); }