廣東工業大學程式設計競賽決賽 C

2021-07-29 15:21:21 字數 763 閱讀 8762

小時候,我只能一階一階得爬樓梯,

後來,我除了能一次爬一階,還可以一次爬兩階,

到現在,我最多一次可以爬三階。

那麼現在問題來了,我想爬上

n層樓,相鄰樓層之間有一段樓梯,雖然我一次可以爬

1個台階、

2個台階和

3個台階,但是我在i與

i+1層之間的樓梯上時,我不能跨越到

i+1與

i+2層之間的樓梯。現在有個

n層的樓,知道每一段樓梯的階數,我想知道,如果我只會往上走,並且忽略其他不在樓梯上的其他移動,共有多少種方案可以到達第n層。

第一行乙個整數t(

0)表示有多少組樣例。

對於每一組樣例:

第一行乙個n(

1)表示有多少層樓。

接下來一行,包括

n-1個整數xi(

0),由下到上依次表示每段樓梯的長度。

對於每組資料,輸出一行表示共有多少種方案。由於答案較大,所以輸出答案請對

10007

取模。

22344 5 6

42184

思路:類似斐波那契   然後相乘就是答案。

#include#include#include#include#includeusing namespace std;

int aa[1005];

int main()

int ans=0;

int n;

int a;

while(t--)

cout<

2017廣東工業大學程式設計競賽決賽 E(倒水)

problem e 倒水 water description 一天,cc買了n個容量可以認為是無限大的瓶子,開始時每個瓶子裡有1公升水。接著 cc發現瓶子實在太多了,於是他決定保留不超過k個瓶子。每次他選擇兩個當前含水量相同的瓶子,把乙個瓶子的水全部倒進另乙個裡,然後把空瓶丟棄。不能丟棄有水的瓶子 ...

2017廣東工業大學程式設計競賽決賽 等凹數字

定義一種數字稱為等凹數字,即從高位到地位,每一位的數字先非遞增再非遞減,不能全部數字一樣,且該數是乙個回文數,即從左讀到右與從右讀到左是一樣的,僅形成乙個等凹峰,如 543212345 5544334455 是合法的等凹數字,543212346 123321,111111 不是等凹數字。現在問你 l...

廣東工業大學程式設計競賽決賽 tmk找三角

提供了乙個演算法,判邊集s,o s 找能存在構成三角形的3條邊 用了priority queue,jp提供 提供了找樹中節點路勁的方法o h 就是找公共祖先,深度深的往上 用map陣列做到了即時訪問邊值o logn 雖然後來覺得可以存在節點上,改用vector pair,優化成o 1 並利用node...