資料結構課程設計 馬的遍歷

2021-08-29 02:56:45 字數 931 閱讀 2562

設計程式完成如下要求:

在中國象棋盤上,對任意位置上放置乙個馬,均能選擇乙個合適的路線,使得該棋子能夠按照象棋的規則不重複的走過棋盤上的每一位置。 

要求:(1)依次輸出走過的各位置的座標

(2)最好能畫出棋盤的圖形形式,並在其上動態的標註行走過程 

思路:最開始用的是dfs,但是遞迴層數多的時候就無法在短時間內出結果,所以需要用這種貪心的思想。從起點開始,在每個結點對其子結點進行選取時,優先選擇子節點可落子位置最少的結點。

**:

#include#include#includeusing namespace std;

int dir[8][2]=,,,,,,,}; //八個方向

int nexti[8],nextj[8];

int board[100][100];

int exists[8]; //記錄當前點的下乙個點的出路數

int nn,mm;

int slove(int x,int y)

t = 0;

for(int j=0;j<8;++j)

} cnt = t; //cnt記錄的是從當前點向8個方向走,可以落子的點的個數

if(cnt == 0) return 0; //從這一步無路可走

else if(cnt == 1)

else}}

tmp = exists[0];

minx = 0;

for(int k=1;k}

} x = nexti[minx];

y = nextj[minx];

board[x][y] = i;

} return 1;

}int main()

printf("\n");}}

else

} return 0;

}

資料結構課程設計

資料結構課程設計 include define n 30 include include includeusing namespace std struct node typedef node phone,mingzi node hashnumble node hashname int hash1 ...

資料結構課程設計

小明是乙個計算機專業top student 祝賀他畢業了。並準備到銀行參加工作。上班第一天,經理叫他編制乙個實現乙個活期儲蓄處理程式,算作考查。上班第一天,一定要給領導乙個好印象,小明二話沒說,就答應了。現要你是小明了,請完成如下題目功能。儲戶開戶 銷戶 存入 支出活動頻繁,系統設計要求 1 能比較...

資料結構課程設計

一 實訓目的 通過課程設計,學會運用資料結構知識,針對具體應用,自己設計合理資料結構,確定儲存結構,並能設計具體操作演算法,選擇使用具體語言進行實現。掌握c 較複雜程式的組織和設計過程,除錯技巧。學習解決實際問題的能力。題目1.小明是乙個計算機專業top student,祝賀他畢業了。並準備到銀行參...