谁帮我做一下这个题:C语言的?

来源:百度知道 编辑:UC知道 时间:2024/05/16 11:24:05
87.黑白子交换
有四个白子和四个黑子如下图布置:
○ ○ ○ ○ . ● ● ● ● 游戏的目的是用最少的步数将上图中白子和黑子的位置进行交换:
● ● ●● . ○ ○ ○ ○ 游戏的规则是:(1)一次只能移动一个棋子; (2)棋子可以向空格中移动,也可以跳过一个对方的棋子进入空格,但不能向后跳,也不能跳过两个子。请用计算机实现上述游戏。

典型的BFS……

待会有空再给你写吧……

•8.2解:
•#include<math.h>
•Float x1,x2,disc,p,q;
•Greater_than_zero(float a, float b)
•/*定义一个函数,用来求disc>0时方程的根*/
•{x1=(-b+sqrt(disc))/(2*a);
• X2=(-b-sqrt(disc))/(2*a);
•}
•equal_to_zero(float a, float b)
•/*定义一个函数,用来求disc=0时方程的根*/
•{x1=x2=(-b)/(2*a)
•}
•smaller_than_zero(float a, float b)
•/*定义一个函数,用来求disc<0时方程的根*/
•{p=-b/(2*a);
•q=sqrt(disc)/(2*a);
}

Main()
{ float a, b, c;
Printf(“\n input a, b, c:”);
Scanf(“%f,%f,%f”,&a,&b,&c);
Printf(“\nequation:%5.2f*x*x+%5.2f*x+%f5.2=0\n”,a,b,c);)
Disc=b*b-4*a*c;
Printf(“root:\n”);
If(disc>0)
{Greater_than_zero(a, b);
Printf(“x1= %5.2f\t x2= %5.2f\n\n”,x1,x2);
}
else if (disc=0)
{equal_to_zero(a, b);
Pr