小時候,我只能一階一階得爬樓梯,
後來,我除了能一次爬一階,還可以一次爬兩階,
到現在,我最多一次可以爬三階。
那麼現在問題來了,我想爬上
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...