小樂樂搭積木(深搜)

2021-09-02 18:11:15 字數 866 閱讀 5942

小樂樂想要給自己搭建乙個積木城堡。

積木城堡我們假設為n*m的平面矩形。

小樂樂現在手裡有1*2,2*1兩種地磚。

小樂樂想知道自己有多少種組合方案。

第一行輸入整數n,m。(1<=n,m<=10)
輸出組合方案數。

示例1複製

2 3
複製

3
示例2

複製

1 3
複製

0
示例3

複製

2 5
複製

8
題意:略

題解:想象成豎著的平面矩形,然後詳細看**;

#include #include using namespace std;

const int max = 20;

bool vis[max][max];

int mv[2][2]=;//加的木塊只有在原木塊的上面或者右面;

int ans,n,m;//n是寬m是長

void dfs(int area)

int x=area/n;

int y=area%n;

if(vis[x][y]) return dfs(area+1);//因為是 2*1 1*2的木塊

vis[x][y]=true;

for (int i = 0; i < 2;i++)

dfs(0);

cout << ans << endl;

//memset(vis,0,sizeof(vis));

// ans=0;

return 0;

}

哈理工院賽 小樂樂搭積木

題目描述 小樂樂想要給自己搭建乙個積木城堡。積木城堡我們假設為n m的平面矩形。小樂樂現在手裡有12,21兩種地磚。小樂樂想知道自己有多少種組合方案。輸入描述 第一行輸入整數n,m。1 n,m 10 輸出描述 輸出組合方案數。示例1 輸入2 3輸出 3示例2 輸入1 3輸出 0示例3 輸入2 5輸出...

深搜剪枝 小木棍

時間限制 1 sec 記憶體限制 128 mb 提交 7 解決 5 提交 狀態 討論版 命題人 add cy 喬治有一些同樣長的小木棍,他把這些木棍隨意砍成幾段,直到每段的長都不超過50。現在,他想把小木棍拼接成原來的樣子,但是卻忘記了自己開始時有多少根木棍和它們的長度。給出每段小木棍的長度,程式設...

解救小哈 dfs深搜

小哈去玩迷宮,結果迷路了,小哼去救小哈。迷宮由n行m列的單元格組成 n和m都小於等於50 每個單元格要麼是空地,要麼是障礙物。問題 幫小哼找到一條從迷宮的起點通往小哈所在位置的最短路徑。注意 障礙物不能走,小哼也不能走出迷宮外,0表示空地,1表示障礙物 輸入 5 40 0 1 0 0 0 0 0 0...