B - 一只小蜜蜂...
生活随笔
收集整理的這篇文章主要介紹了
B - 一只小蜜蜂...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
有一只經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請編程計算蜜蜂從蜂房a爬到蜂房b的可能路線數。?其中,蜂房的結構如下所示。?
?
Input
輸入數據的第一行是一個整數N,表示測試實例的個數,然后是N 行數據,每行包含兩個整數a和b(0<a<b<50)。?Output
對于每個測試實例,請輸出蜜蜂從蜂房a爬到蜂房b的可能路線數,每個實例的輸出占一行。?Sample Input
2 1 2 3 6Sample Output
1 3題解:因為蜂房的特殊結構,1到n的步數和k+1到n+k的步數是相等的
所以用dp[n-1]來儲存步數。
dp[i] = dp[i-1] + dp[i-2];(i大于2); #include<cstdio> #include<cstring> #include<iostream> #include<stdlib.h> #include<vector> #include<queue> #include<cmath> using namespace std; #define maxn 100 #define oo 0x3f3f3f #define PI 3.1415926535897932 int n; int k; long long dp[maxn]; void init() {for(int i=3; i<=maxn; i++)dp[i] = dp[i-1] + dp[i-2]; } int main() {int t;scanf("%d", &t);dp[1] = 1;dp[2] = 2;while(t--){init();int m,n;scanf("%d%d",&m,&n);k = n - m;printf("%I64d\n",dp[k]);}return 0; }
?
轉載于:https://www.cnblogs.com/biu-biu-biu-/p/5744488.html
總結
以上是生活随笔為你收集整理的B - 一只小蜜蜂...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用支持向量机训练mnist数据
- 下一篇: JAVA学习Swing绝对局部简单学习