MAKA网站做H5怎么压缩图片广州短视频拍摄
题目描述
一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房 m 开始爬到蜂房 n,m<n,有多少种爬行路线?(备注:题面有误,右上角应为 n−1)

输入格式
输入 m,n 的值
输出格式
爬行有多少种路线
输入输出样例
输入 #1复制
1 14
输出 #1复制
377
代码:
#include <bits/stdc++.h>
 #define MX 1005
 using namespace std;
 int f[MX][MX];
 int m,n,len = 1;
 void Plus(int x) {
     for(int i = 1; i <= len; i++) {
         f[x][i] = f[x-1][i] + f[x-2][i];
     }
     for(int i = 1; i <= len; i++) {
         if(f[x][i] > 9) {
             f[x][i+1] += f[x][i] / 10;
             f[x][i] = f[x][i] % 10;
         }
     }
     if(f[x][len+1]) len++;
 }
 int main() {
     scanf("%d%d",&m,&n);
     f[1][1] = 1;
     f[2][1] = 2;
     for(int i = 3; i<=n-m; i++) Plus(i);
     for(int i = len;i>0;i--)
     {
         cout<<f[n-m][i];
     }
     return 0;
 }
