第十一屆藍橋杯 走方格

2021-10-07 19:19:22 字數 1446 閱讀 2941

問題描述

在平面上有一些二維的點陣。

這些點的編號就像二維陣列的編號一樣。

從上到下依次為第 1 至第 n 行,從左到右依次為第 1 至第 m 列,每乙個點可以用行號和列號來表示。

現在有個人站在第 1 行第 1 列,要走到第 n 行第 m 列。只能向右或者向下走。

注意,如果行號和列號都是偶數,不能走入這一格中。

問有多少種方案。

輸入格式

輸入一行包含兩個整數 n,m。

輸出格式

輸出乙個整數,表示答案。

樣例輸入1:

3 4樣例輸出1

2樣例輸入2:

6 6樣例輸出2

0資料範圍

1 ≤ n ≤ 30, 1 ≤ m ≤ 30。

題解一

dfs(會超時):

#include

using

namespace std;

int ans;

int n, m;

void

dfs(

int x,

int y)

dfs(x +

1, y)

;dfs

(x, y +1)

;}intmain()

題解二

記憶化搜尋:

#include

using

namespace std;

const

int n =50;

int n, m;

int f[n]

[n];

intdfs

(int x,

int y)

return f[x]

[y];

}int

main()

題解三

動態規劃:

f[i][j]:所有能從(1, 1)走到(i, j)的方案數;

#include

using

namespace std;

const

int n =50;

int f[n]

[n];

intmain()

cout << f[n]

[m]<< endl;

return0;

}

藍橋杯c/c++組省賽歷年題

第十一屆藍橋杯省賽 走方格

時間限制 1.0s 記憶體限制 512.0mb 本題總分 20 分 問題描述 在平面上有一些二維的點陣。這些點的編號就像二維陣列的編號一樣,從上到下依次為第 1 至第 n 行,從左到右依次為第 1 至第 m 列,每乙個點可以用行號和列號來表示。現在有個人站在第 1 行第 1 列,要走到第 n 行第 ...

第十一屆藍橋杯

問題描述 小藍要為一條街的住戶製作門牌號。這條街一共有 2020 位住戶,門牌號從 1 到 2020 編號。小藍製作門牌的方法是先製作 0 到 9 這幾個數字字元,最後根據需要將字 符貼上到門牌上,例如門牌 1017 需要依次貼上字元 1 0 1 7,即需要 1 個 字元 0,2 個字元 1,1 個...

第十一屆藍橋杯 矩陣

問題描述 把 1 2020 放在 2 1010 的矩陣裡。要求同一行中右邊的比左邊大,同一列中下邊的比上邊的大。一共有多少種方案?答案很大,你只需要給出方案數除以 2020 的餘數即可。答案提交 這是一道結果填空題,你只需要算出結果後提交即可。本題的結果為乙個整數,在提交答案時只填寫這個整數,填寫多...