小d接到了乙個布置會場的任務。
他需要將貴賓觀眾席的椅子排成一排,一共需要n個。
上級領導指示,他只能使用兩種椅子。(a型別和b型別)並且假設每種椅子的數量都是無限的。
而其如果想要擺置乙個b型別的椅子,對應就需要必須有連續兩個一起布置。換句話說,就是如果出現了b型別的椅子,其必須且只有兩個連著b型別的椅子。
小d突然想知道對應n個椅子排成一列,他能夠有多少種布置的方式.
輸入描述:
本題包含多組輸入第一行輸入乙個整數t,表示測試資料的組數
每組測試資料報含一行,輸入乙個整數n,表示一共需要擺放的椅子數量
t<=1000
1<=n<=100000000000000000(10^18)
輸出描述:
每組測試資料輸出包含一行,表示一共有多少種布置的方式,方案數可能會很大,輸出對1000000007取摸的結果。
示例1輸入
2
24
輸出
2
5
說明
第乙個樣例,aa,bb兩種方案。
第二個樣例,aaaa,bbbb,aabb,abba,bbaa五種方案 對於abbb 因為有連續3個b型別椅子所以不可行
#include
#include
#include
#include
#include
#define ll long long
using namespace std;
const ll mod =
1000000007
;struct matrix
;//這裡的mul和pow還有matrix要結合起來用,矩陣快速冪,題目中是有mod的
matrix mul
(matrix &x, matrix &y)
}return c;
}ll pow
(matrix x, ll n)
return ans.a[0]
[0];
}int
main()
;/*——————這一部分是初始的矩陣,矩陣的n次,下面的例子使用了
1,11,0這個矩陣求出來的就是 斐波那契數,具體用什麼函式作為初始函式則
ans.a[0][0]=1,ans.a[1][0]=1;
ans.a[0][1]=1,ans.a[1][1]=0;
——————*/
cin >> t;
while
(t--
)return0;
}
B 布置會場 II 矩陣相乘 遞推公式
小d接到了乙個布置會場的任務。他需要將貴賓觀眾席的椅子排成一排,一共需要n個。上級領導指示,他只能使用兩種椅子。a型別和b型別 並且假設每種椅子的數量都是無限的。而其如果想要擺置乙個b型別的椅子,對應就需要必須有連續兩個一起布置。換句話說,就是如果出現了b型別的椅子,其必須且只有兩個連著b型別的椅子...
A 布置會場 I
今天是tabris和mengxiang000來到幼兒園的第3天,mengxiang000接到了乙個布置會場的任務。他需要將貴賓觀眾席的椅子排成一排,一共需要n個。幼兒園只有兩種椅子,所以他也只能使用兩種椅子。a型別和b型別 並且假設每種椅子的數量都是無限的。而其如果想要擺置乙個b型別的椅子,對應就需...
fjnuoj1193 布置會場 快速冪 矩陣
蛋蛋接到了乙個布置會場的任務。他需要將貴賓觀眾席的椅子排成一排,一共需要n個。上級領導指示,他只能使用兩種椅子。a型別和b型別 並且假設每種椅子的數量都是無限的。擺放規則是這樣的 若擺放a型別的椅子,每次可以擺放乙個,若擺放b型別椅子,每次必須擺放兩個。蛋蛋突然想知道對應n個椅子排成一列,他能夠有多...