粥可賽艇 重慶大學月賽

2021-07-10 23:14:45 字數 1360 閱讀 4892

傳說粥老闆很喜歡鍛鍊身體,也很喜歡賽艇。

但他在賽艇的時候總是控制不好賽艇的方向,每劃一下都會跑到別的賽道上。

假設粥老闆正在一條直線賽道,從左往右依次是1號賽道,2號賽道,3號賽道……如此類推,

為了讓粥老闆更自由,總共有無限條賽道!粥老闆需要劃2*n下才能到達終點,但是正如上面所說,粥老闆每劃一下都會偏離原來的賽道,也就是會躥到相鄰的賽道,當然粥老闆是不會劃到1號賽道的左邊去。粥老闆一定是從1號賽道開始劃的,同樣,最後必須回到1號賽道到達終點。已知粥老闆在這過程之中,一共調整了2*k-1次方向,那麼請問粥老闆一共有多少種方案來划完這2*n步呢?

(兩種方案視為不同當且僅當兩種方案的某一步所在的賽道不同)

粥可賽艇!

input

第一行為乙個整數t,表示有t組資料(t≤100)

接下來的t行的之內每行包含兩個整數n,k(1≤k≤n≤20)

output

每行輸出乙個數,即是方案數

sample input

22 1

4 2sample output16

hint

對於第一組樣例粥老闆的方案為1-2-3-2-1

對於第二組樣例,粥老闆的方案為:

1-2-3-2-3-4-3-2-1;1-2-3-4-3-4-3-2-1;

1-2-3-4-3-2-3-2-1;1-2-1-2-3-4-3-2-1;

1-2-3-2-1-2-3-2-1;1-2-3-4-3-2-1-2-1;

題解:本題也是dp,狀態方程是:

1.k是奇數時,有可能此時必須向左劃,此時應該是上一次在右邊來的,可能變軌,也可能沒有。

dp[i

][j][k

]=dp[

i-1][

j+1][

k-1]+

dp[i-

1][j+

1][k];

2.k是偶數時,向右劃,此時應是上一次從左邊來,此時也可能變軌了,也可能沒變。

dp[i

][j][k

]=dp[

i-1][

j-1][

k-1]+

dp[i-

1][j-

1][k];

#include #include #include using namespace std;

int t;

int n,k;

int dp[45][45][45];//表示第i次划行,到了第j個航道,已經變了k次軌

int main()}}

scanf("%d",&t);

while(t--)

return 0;

}

重慶大學oj系統 習題

一 question1 1.問題說明 2 9對應九宮格數字鍵盤的字母 2.輸入23 3.輸出 ad bdcd aebe ceaf bfcf 4.完整 if name main import itertools dic data input data list for i in range len d...

熱烈祝賀重慶大學75周年校慶

75載櫛風沐雨,75個春華秋實。金秋10月,重慶大學也迎來了建校75周年喜慶日子。創辦於1929年的重慶大學,經過幾代人的不懈奮鬥,形成了獨自的辦學特色和優良傳統,創辦者提倡的 耐勞苦 尚簡樸 勤學業 愛國家 的精神濡染著一代代重大人 團結 勤奮 求實 創新 的校風啟迪著新一輩莘莘學子,創造了大批優...

思科全球副總裁林正剛做客重慶大學經管論壇

在重慶大學講課的紀錄。2009年3月23日晚7點,由經管學院主辦,經管學院研究生團委 研究生會承辦的第28期經管論壇在經管學院105報告廳如期舉行。本期論壇邀請到的主講嘉賓是思科集團全球副總裁 思科中國副董事長兼總裁林正剛先生。思科中國區部分高管 經管學院黨委書記胡新平教授 副書記嚴太華教授 研究生...