Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
2186 | 九亿丶孤酒⌒ | 黑白棋子的移动 | C++ | 解答错误 | 50 | 0 MS | 256 KB | 774 | 2019-11-10 09:09:01 |
#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(); }