2563 統計問題

2021-09-30 12:23:12 字數 593 閱讀 6274

方法一:dfs打表

思路:方法一比較流氓,完全是利用了資料小這一點,不過也算是鍛鍊一下dfs吧,一看題,整個題目敘述簡直就是迷宮題的翻版啊有木有,不假思索直接dfs了,然後跪了。首先,dfs速度太慢,必然超時;此外這裡的迷宮的起點選擇要注意,選擇在迷宮矩陣的正**,由於n不會超過20,矩陣開到40*40就可以保證左右均可以走,否則會造成陣列越界;還有,如果按照我的寫法,需要把起點也要標記上,否則會走回原點。

難點:dfs的改寫

注意:主函式內注釋掉的部分是dfs主體部分,由於只要dfs存在就會超時,因此可恥地直接打表了。

#include#include#includeusing namespace std;

const int max = 100;

int num,n;

int dir[3][2] = ,,};

int book[max][max] = ;

void dfs(int x,int y,int step)

int main()

{ int t,n;

while(cin>>t)

{while(t--)

{cin>>n;

cout<

HDU2563 統計問題

problem description 在一無限大的二維平面中,我們做如下假設 1 每次只能移動一格 2 不能向後走 假設你的目的地是 向上 那麼你可以向左走,可以向右走,也可以向上走,但是不可以向下走 3 走過的格仔立即塌陷無法再走第二次 求走n步不同的方案數 2種走法只要有一步不一樣,即被認為是...

HDU 2563 統計問題

problem description 在一無限大的二維平面中,我們做如下假設 1 每次只能移動一格 2 不能向後走 假設你的目的地是 向上 那麼你可以向左走,可以向右走,也可以向上走,但是不可以向下走 3 走過的格仔立即塌陷無法再走第二次 求走n步不同的方案數 2種走法只要有一步不一樣,即被認為是...

Hdoj 2563 統計問題 題解

problem description 在一無限大的二維平面中,我們做如下假設 1 每次只能移動一格 2 不能向後走 假設你的目的地是 向上 那麼你可以向左走,可以向右走,也可以向上走,但是不可以向下走 3 走過的格仔立即塌陷無法再走第二次 求走n步不同的方案數 2種走法只要有一步不一樣,即被認為是...