跳棋c语言,C/C++跳棋问题
/************************************************************************/
/*FileName:跳棋問題
/*Author:PenglueR
/*Date:2009/07/15
/*Comment:
/************************************************************************/
#include
using namespace std;
int step(int n,int s,int i);
int main()
{
int n;//存放有多少個位置
int Smin=0;//存放最小步數
cout<2):";
cin>>n;
int a[20];
for (int i=0;i<20;i++)
a[i]=0;
int k=0;//記錄臨時移動的步數
for (int i=1,j=0;i<=(n/2)+1;i++,j++)
{
a[j] = step(n,Smin,i)+k;
k++;
}
Smin = a[0];
for(int i=1;a[i]!=0;i++)
{
if (Smin>=a[i])
{
Smin=a[i];
}
else
{
Smin=Smin;
}
}
cout<
return 0;
}
int step(int n,int s,int i)
{
int sp=0;//返回步數
int?j=0,tmp;
int b[20];
for (int p=0;p<20;p++)
b[p]=0;
b[0]=1;
b[i]=1;
while (1)
{
if (i==n-1&&j==n-2)
break;
if ((i+(i-j))
{
b[j]=0;
b[i+(i-j)]=1;
tmp=j;
j=i;
i=i+(i-tmp);
sp++;
}
else
{
b[j] = 0;
b[j+1] = 1;
j++;
sp++;
}
}
return sp;
}
//
總結
以上是生活随笔為你收集整理的跳棋c语言,C/C++跳棋问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 途观未找到钥匙是什么原因?
- 下一篇: c语言异或实现交换原理,使用异或运算符实