當前位置:編程學習大全網 - 網站源碼 - 走馬的c語言算法

走馬的c語言算法

# include & ltstdio.h & gt

/*

*找出從(x1,y1)向右(y1,y2)可行移動的總數。

*/

int getWays(int x1,int y1,int x2,int y2)

{

if(y 1 & gt;Y2) //在目標的右側

返回0;

else if(y 1 = = y2 & amp;& ampx1!= x2) //在目標的垂直線上,但不在同壹點上。

返回0;

else if(y 1 = = y2 & amp;& ampX1 == x2) //與目標相同。

返回1;

Else{ //分而治之,求四招之和。

int result = 0;

if(x 1 & gt;1) //可以去1。

result+= getWays(x 1-1,y1 + 2,x2,y2);

if(x 1 & gt;2) //可以去2。

result += getWays(x1 - 2,y1 + 1,x2,y2);

if(x 1 & lt;5) //可以按1。

result+= getWays(x 1+1,y1 + 2,x2,y2);

if(x 1 & lt;4) //可以輸入2。

result += getWays(x1 + 2,y1 + 1,x2,y2);

返回結果;

}

}

無效總管(無效)

{

int x,y;//目標坐標

Printf("請輸入目標坐標:\ n ");

scanf("%d%d ",& ampx & amp;y);

Printf("總不同方式:% d \ n ",getways (1,1,x,y));

}

如果不理解,再溝通。...

  • 上一篇:Uniapp華為mate20輸入框不工作。
  • 下一篇:如何才能抓到連板股?龍頭股怎麽識別?
  • copyright 2024編程學習大全網