簡單搜尋題!

2021-06-13 17:08:20 字數 529 閱讀 3357

設有乙個4*4的棋盤,用四個棋子布到格仔中,要求滿足以下條件:

(1)任意兩個棋子不在同一行和同一列上;

試問有多少種棋局,程式設計把它們全部列印出來。 

**如下:

#include

#include

#include

#include

#include

using namespace std;

int n=4, m=4, used_line[12], opt[5];

// n為行 m為列 used_line記錄這列有沒有棋子放置

void dfs(int deep)

printf("\n");

//列印方案

return; //這個時候就可以回溯啦。。。 }

for (int i=1; i<=4; i++) //你可一放當前行的第1,2,3,4個(先不管方案可不可行)

if (used_line[i]==false) //如果這行沒有放過。。。

} int main()

POJ 1321搜尋簡單題

在乙個給定形狀的棋盤 形狀可能是不規則的 上面擺放棋子,棋子沒有區別。要求擺放時任意的兩個棋子不能放在棋盤中的同一行或者同一列,請程式設計求解對於給定形狀和大小的棋盤,擺放k個棋子的所有可行的擺放方案c。input 輸入含有多組測試資料。每組資料的第一行是兩個正整數,n k,用乙個空格隔開,表示了將...

簡單搜尋題 馬的走法

乙個4 5 的棋盤,輸入馬的起始座標,求馬能返回初始位置的所有不同走法的總數 馬走過的位置不能重複,馬走 日 字 include iostream using namespace std const introws 4 行數const intcolums 5 列數int chess rows col...

LeetCode簡單題10 搜尋插入位置

題目描述 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。可假設陣列中無重複元素。樣例 輸入 1,3,5 3 輸出 1 輸入 1,4 3 輸出 1 輸入 1 1 輸出 0 題解 看起來,因為是排好序的,遍歷一遍就可以找出被插入的...