程式設計與演算法(二)期末考試之02 馬走日

2021-10-06 05:27:08 字數 913 閱讀 3147

描述

馬在中國象棋以日字形規則移動。

請編寫一段程式,給定n*m大小的棋盤,以及馬的初始位置(x,y),要求不能重複經過棋盤上的同乙個點,計算馬可以有多少途徑遍歷棋盤上的所有點。

輸入第一行為整數t(t < 10),表示測試資料組數。

每一組測試資料報含一行,為四個整數,分別為棋盤的大小以及初始位置座標n,m,x,y。(0<=x<=n-1,0<=y<=m-1, m < 10, n < 10)

輸出每組測試資料報含一行,為乙個整數,表示馬能遍歷棋盤的途徑總數,0為無法遍歷一次。

樣例輸入

1

5 4 0 0

樣例輸出

32
#include#include#include#define min 0xc0c0c0c0

#define max 0x3f3f3f3f

using namespace std;

int n, m;//定義問題規模

int count = 0;//問題解法數量

int map[20][20], trace[5][5], visit[5][5];//map表示整個地圖,trace記錄路徑,visit用來記錄當前點是否被走過

int movedirection[2] = ;//下一步相對於當前位置的偏移量

void printtrace(int data[20]);

void horsejumpsolutionnumbers(int x, int y, int steps)

int nextx, nexty;

for(int i = 0; i < 8; i++) }

} void printtrace(int data[20])

程式設計與演算法(二)期末考試之03 開餐館

描述 北大資訊學院的同學小明畢業之後打算創業開餐館.現在共有n 個地點可供選擇。小明打算從中選擇合適的位置開設一些餐館。這 n 個地點排列在同一條直線上。我們用乙個整數序列m1,m2,mn 來表示他們的相對位置。由於地段關係,開餐館的利潤會有所不同。我們用pi 表示在mi 處開餐館的利潤。為了避免自...

程式設計與演算法(二)期末考試之05 單詞序列

描述 給出兩個單詞 開始單詞和結束單詞 以及乙個詞典。找出從開始單詞轉換到結束單詞,所需要的最短轉換序列。轉換的規則如下 1 每次只能改變乙個字母 2 轉換過程 現的單詞 除開始單詞和結束單詞 必須存在於詞典中 例如 開始單詞為 hit 結束單詞為 cog 詞典為 hot,dot,dog,lot,l...

BFS AOJ 579 期末考試之考試傳紙條

description 平時不努力,考試得著急吶。傳說中的bt監考老師竟然搬來了訊號遮蔽工具,手機不管用啦有木有。不過這難不到大家,cxlove見證了同學們使用傳統的作弊方式 傳紙條,紙條得從a同學傳到b同學處,在乙個n m的教室裡,零散著坐著一些同學,監考老師遊蕩在教室某些位置,能否成功將紙條傳到...