记录编号 217301 评测结果 AAAAA
题目名称 黑白棋子的移动 最终得分 100
用户昵称 Gravatar521 是否通过 通过
代码语言 C++ 运行时间 0.001 s
提交时间 2016-01-03 14:38:42 内存使用 0.23 MiB
显示代码纯文本
#include<stdio.h>
int N,p,deep=0;
char c[101];
void print()
{
	printf("step %d:",deep++);
	for(int i=1;i<=2*N+2;i++)
	{
		printf("%c",c[i]);
	}
	printf("\n");
}
void f1(int n)
{
	p=2*n+1;
	for(int i=1;i<=n;i++)
	  c[i]='o';
	for(int i=n+1;i<=2*n;i++)
	  c[i]='*';
	c[p]='-';
	c[p+1]='-';
	print();
}
void m2(int k)
{
	for(int j=0;j<=1;j++)
	{
		c[p+j]=c[k+j];
		c[k+j]='-';
	}
	p=k;
	print();
}
void m1(int n)
{
	if(n==4)
	{
		m2(4);m2(8);m2(2);m2(7);m2(1);
	}
	else
	{
		m2(n);m2(2*n-1);m1(n-1);
	}
}
int main()
{
	freopen("chessman.in","r",stdin);
	freopen("chessman.out","w",stdout);
	scanf("%d",&N);
	f1(N);
	m1(N);
	return 0;
}