思維 HRBUST 1612 方格問題

2021-08-16 05:37:28 字數 1075 閱讀 8232

方格問題

time limit: 1000 ms

memory limit: 32768 k

total submit: 546(307 users)

total accepted: 317(281 users)

rating:

special judge: no

description

在一無限大的二維平面中,我們做如下假設:

1、  每次只能移動一格;

2、  你可以向左走,可以向右走,也可以向上走,但是不可以向下走。

3、  走過的格仔立即塌陷無法再走第二次;

求走n步不同的方案數(2種走法只要有一步不一樣,即被認為是不同的方案)。

input

首先給出乙個正整數t(t <= 20),表示有t組測試資料

接下來的t行,每行包含乙個整數n (n<=20),表示要走n步。

output

請程式設計輸出走n步的不同方案總數;

每組的輸出佔一行。

sample input

2

12

sample output

3

7

hint

author

陳禹@hrbust

思路

一開始思考使用bfs後面華華麗麗的tle了,然後發現這是乙個簡單的思維問題。

對於第n-1種情況,那麼在第n次時

向左走的路徑 = 第n-1次最後一步時向上走的路徑數量 + 第n-1次最後一步時向左走的路徑數量;

向右走的路徑 = 第n-1次最後一步時向上走的路徑數量 + 第n-1次最後一步時向右走的路徑數量;

向上走的路徑 = 第n-1次最後一步時向上走的路徑數量 + 第n-1次最後一步時向右走的路徑數量 + 第n-1次最後一步時向左走的路徑數量;

然後把這三者全部加起來就說第n次的路徑。

#includeusing namespace std;

int main(void)

cout<

}return 0;

}

hrbust2294 方方正正

哈理工2016級新生程式設計全國邀請賽c題 乙個r行c列的01矩陣,告訴你每行的和 每列的和,問是否存在這樣的矩陣?首先,行和和列和之和要相等,否則一定是no。然後根據gale ryser定理判斷存在性 求出 r r 1 r 2 r m r i 行和大於等於i的行數 只要 r preceq s 就存...

HRBUST1849商品中心(貪心 思維 並查集)

商品中心 time limit 2000 ms memory limit 32768 k total submit 7 5 users total accepted 3 3 users rating special judge no description 有n個城鎮 編號從1到n 城鎮之間有一些雙...

HRBUST 1688 數論中的異或(思維題)

數論中的異或 time limit 1000 ms memory limit 32768 k total submit 75 41 users total accepted 35 30 users rating special judge no description 給出兩集合a和b,找出最小的非...