設計程式完成如下要求:
在中國象棋盤上,對任意位置上放置乙個馬,均能選擇乙個合適的路線,使得該棋子能夠按照象棋的規則不重複的走過棋盤上的每一位置。
要求:(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,祝賀他畢業了。並準備到銀行參...