题目描述
一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房M开始爬到蜂房N,1≤M<N≤100,有多少种爬行路线?
输入
输入 M,N 的值。 (1≤M<N≤100)
输出
爬行有多少种路线。
样例
输入
1 14
输出
377
代码
#include <bits/stdc++.h>
using namespace std;
int n,m,t;
bool pd = 0;
int a[1000][1000];
int main(){cin >> m >> n;t = n - m;a[0][1] = 0;a[1][1] = 1;a[2][1] = 2;for(int i = 3;i <= t;i++){for(int j = 1;j < 600;j++) a[i][j] = a[i - 1][j] + a[i - 2][j];for(int j = 1;j < 600;j++){while(a[i][j] > 9){a[i][j + 1]++;a[i][j] -= 10;}}}for(int i = 600;i > 1;i--){if(!pd && a[t][i] == 0){continue;}pd = 1;cout << a[t][i];}cout << a[t][1];return 0;
}