求8數碼問題的A 演算法程式(PASCAL語言)

2023-05-13 09:10:09 字數 1184 閱讀 4152

求8數碼a或a*演算法(用c語言)

1樓:匿名使用者

//dfs+hash+記憶化 爐灰出品。

#include ""

#define n 4

#define swap(a,b) a=a+b;b=a-b;a=a-b;

int map[n][n]/*hashta[99991]=,path[2000]=,min=150,book[n][n]=,h=0,step=0,choos[5]=,len=0;

int hash(int x,int y,int temp[n][n])

if(x+10)

if(y+1hashta[h]=0;

int main(void)

for(i=1;i} }

h=hash(2,2,map)%99991;

dfs(x,y);

if(hashta[h]!=0) printf("%d",min);

else printf("-1");

return 0;

因為原程式和此題稍有不同而臨時修改,所以可能還有點問題。 qiji8816你自己再看看吧,反正修改前是可以執行的。^_

求八數碼問題演算法,並說明下該演算法優缺點,要演算法,不是源**(可以沒有)。

2樓:匿名使用者

可以採用雙廣。

用多維hash陣列判重。

誰能把下面pascal**翻譯成c/c++?一個是用a*演算法的8數碼。

3樓:匿名使用者

你哪句看不懂啊。哪有你這樣全部寫出來的。誰肯幫你翻譯啊。寫到天黑咯。

c語言 問題。謝謝

4樓:齋傲雲

常量不能以0開頭。

高階語言編寫的源程式轉換為目標程式通過編譯方式或者解釋方式 彙編是中級語言。

結構化演算法基本結構的是順序,條件,迴圈多選題。

1. abc d以0開頭,不對。

在計算機裡數以補碼的形式儲存 所以選。

用「」定義的都是字串。

判斷題1.對。

2.錯3.錯 一個c程式的執行是從main()函式開始,直到main()函式結束。

4.對 字串都以\0結尾,所以最少包含兩個5.對。

求逆矩陣的演算法,最好是c 的程式

到底應該怎麼樣去求逆矩陣才好呢?include define m 3 define n 2 m int main double result m m double b m n cout 請輸入矩陣的值 預設大小為3 3的矩陣 a i j b i j a i j for i 0 i i j for k...

求C語言問題的程式,求一個C語言問題的程式!

include stdio.h include string.h include ctype.h int invertion char ch1,char ch2,int n 原字串由形參傳給ch1,倒排後字串 目前是空串 傳給ch2,字串長度傳給n main 啊,看錯了,是單詞倒排不是整串倒排,你把...

求讓按鍵控制數碼管的C51程式,其中按鍵為移位,另兩個按鍵分別為加減

sampando 熱心回答很值得肯定,不過程式設計水平需要提高才行,這個程式無論是程式設計思路,編寫風格都有待提高 求讓3個按鍵控制4個數碼管的c51程式,其中一個按鍵為移位,另兩個按鍵分別為加減 5 不是很麻煩的程式,建議還是自己寫一下吧,再者程式也要和硬體對應起來才能用的,不是隨便寫的 這麼簡單...