4245: KI的斐波那契 递归
4245: KI的斐波那契
Time Limit:?1 Sec??Memory Limit:?128 MBSubmit:?562??Solved:?213
Description
KI十分喜歡美麗而優雅的斐波那契數列,最近他新認識了一種斐波那契字符串,定義如下
f (0) = b, f (1) = a,
f (2) = f (1) + f (0) = ab,
f (3) = f (2) + f (1) = aba,
f (4) = f (3) + f (2) = abaab,
......
KI想知道?f (n)?中的第?m?位是什么,你可以幫他解決這個問題嗎?
Input
第一行有一個整數?T ,表示測試組數。
接下來的每個測試組包含兩個數?n, m?。
數據范圍: T≤?1000, 0?≤?n?≤?90, 1?≤?m?≤?1e18
Output
對于每個測試組,輸出’a’或者’b’
Sample Input
5 4 1 5 3 10 22 22 233 66 2333333333333Sample Output
a
a
a
b
a
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll f[111];
void dfs(int n,ll m)
{
? ?if(n==0) {
? ?puts("b");return;
? ?}
? ?if(n==1) {
? ? ?puts("a");return;
? ?}
? ?ll tmp=f[n];
? ?if(m>tmp) dfs(n-2,m-tmp);
? ?else
? ?dfs(n-1,m);
}
int main()
{
? ?int t;
? ?cin>>t;
? ?while(t--)
? ?{
? ? ?int n;
? ? ?ll m;
? ? ? scanf("%d%lld",&n,&m);
? ? ? f[0]=0;f[1]=1;
? ? ? for(int i=2;i<=n+1;i++)
? ? ? f[i]=f[i-1]+f[i-2];
? ? ? dfs(n,m);
? ?}
}
總結
以上是生活随笔為你收集整理的4245: KI的斐波那契 递归的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 语音识别学习日志 2019-7-14 语
- 下一篇: hdu1232畅通路程(并查集)