洛谷刷题C++语言 | P2437 蜜蜂路线

学习C++从娃娃抓起!记录下洛谷C++学习和备考过程中的题目,记录每一个瞬间。

附上汇总贴:洛谷刷题C++语言 | 汇总_热爱编程的通信人的博客-CSDN博客


【题目描述】

一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房 m 开始爬到蜂房 nm<n,有多少种爬行路线?(备注:题面有误,右上角应为 n−1)

【输入】

输入 m,n 的值

【输出】

爬行有多少种路线

【输入样例】

1 14

【输出样例】

377

【代码详解】

#include <bits/stdc++.h>
using namespace std;
int n, m, a[5005]={1}, b[5005]={1}, c[5005]={1}, len=1;
void f(){
    int jw=0;
    for (int i=0; i<len; i++) {
        c[i] = a[i]+b[i]+jw;
        jw = c[i]/10;
        c[i] = c[i]%10;
    }
    if (jw!=0) {
        c[len] = jw;
        len++;
    }
    for (int i=0; i<len; i++) {
        a[i] = b[i];
        b[i] = c[i];
    }
}
int main()
{
    cin >> m >> n;
    for (int i=3; i<=n-m+1; i++) {
        f();
    }
    for (int i=len-1; i>=0; i--) {
        cout << c[i];
    }
    return 0;
}

【运行结果】

1 14
377

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/133950281