栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

P2437 蜜蜂路线

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

P2437 蜜蜂路线

P2437 蜜蜂路线

提交38.41k

通过12.51k

时间限制1.00s

内存限制125.00MB

提交答案加入题单复制题目

做题计划(首页)

个人题单

团队题单

保存

选择团队

保存

题目提供者yyy2015c01 嘤嘤嘤

难度普及-

历史分数100

 提交记录  查看题解

标签

 查看算法标签

进入讨论版

相关讨论

 查看讨论

推荐题目

 查看推荐

 洛谷推荐关闭

 复制Markdown  展开

题目背景

无

题目描述

一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房 mm 开始爬到蜂房 nn,m

输入格式

输入 m,nm,n 的值

输出格式

爬行有多少种路线

输入输出样例

输入 #1复制

1 14

输出 #1复制

377
说明/提示

对于100%的数据,M,Nle 1000M,N≤1000

【AC代码】
#include
using namespace std;
long long len=1,m,n,num1[50005],num2[50005],num3[50005],ans;
void add(long long num1[],long long num2[],long long num3[])
{
    int x=0;
    for(int i=1;i<=len;i++)
    {
        int tmp=num1[i]+num2[i]+x;
        num3[i]=tmp%10;
        x=tmp/10;
    }
    if(x>0)num3[++len]=1;
    return;
}
void move(long long a[],long long b[])
{
    for(int i=1;i<=len;i++)a[i]=b[i];
    return;
}
int main()
{
    cin>>m>>n;
    num1[1]=1;
    num2[1]=2;
    for(int i=3;i<=n-m;i++)
    {
        add(num1,num2,num3);
        move(num1,num2);
        move(num2,num3);
    }
    for(int i=len;i>=1;i--)cout< 
 
给个关注吧

提交38.41k

通过12.51k

时间限制1.00s

内存限制125.00MB

提交答案加入题单复制题目

做题计划(首页)

个人题单

团队题单

保存

选择团队

保存

题目提供者yyy2015c01 嘤嘤嘤

难度普及-

历史分数100

 提交记录  查看题解

标签

 查看算法标签

进入讨论版

相关讨论

 查看讨论

推荐题目

 查看推荐

 洛谷推荐关闭

 复制Markdown  展开

题目背景

无

题目描述

一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房 mm 开始爬到蜂房 nn,m

输入格式

输入 m,nm,n 的值

输出格式

爬行有多少种路线

输入输出样例

输入 #1复制

1 14

输出 #1复制

377
说明/提示

对于100%的数据,M,Nle 1000M,N≤1000

【AC代码】
#include
using namespace std;
long long len=1,m,n,num1[50005],num2[50005],num3[50005],ans;
void add(long long num1[],long long num2[],long long num3[])
{
    int x=0;
    for(int i=1;i<=len;i++)
    {
        int tmp=num1[i]+num2[i]+x;
        num3[i]=tmp%10;
        x=tmp/10;
    }
    if(x>0)num3[++len]=1;
    return;
}
void move(long long a[],long long b[])
{
    for(int i=1;i<=len;i++)a[i]=b[i];
    return;
}
int main()
{
    cin>>m>>n;
    num1[1]=1;
    num2[1]=2;
    for(int i=3;i<=n-m;i++)
    {
        add(num1,num2,num3);
        move(num1,num2);
        move(num2,num3);
    }
    for(int i=len;i>=1;i--)cout< 
 
给个关注吧

 提交38.41k

通过12.51k

时间限制1.00s

内存限制125.00MB

提交答案加入题单复制题目

做题计划(首页)

个人题单

团队题单

保存

选择团队

保存

题目提供者yyy2015c01 嘤嘤嘤

难度普及-

历史分数100

 提交记录  查看题解

标签

 查看算法标签

进入讨论版

相关讨论

 查看讨论

推荐题目

 查看推荐

 洛谷推荐关闭

 复制Markdown  展开

题目背景

无

题目描述

一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房 mm 开始爬到蜂房 nn,m

输入格式

输入 m,nm,n 的值

输出格式

爬行有多少种路线

输入输出样例

输入 #1复制

1 14

输出 #1复制

377
说明/提示

对于100%的数据,M,Nle 1000M,N≤1000

【AC代码】
#include
using namespace std;
long long len=1,m,n,num1[50005],num2[50005],num3[50005],ans;
void add(long long num1[],long long num2[],long long num3[])
{
    int x=0;
    for(int i=1;i<=len;i++)
    {
        int tmp=num1[i]+num2[i]+x;
        num3[i]=tmp%10;
        x=tmp/10;
    }
    if(x>0)num3[++len]=1;
    return;
}
void move(long long a[],long long b[])
{
    for(int i=1;i<=len;i++)a[i]=b[i];
    return;
}
int main()
{
    cin>>m>>n;
    num1[1]=1;
    num2[1]=2;
    for(int i=3;i<=n-m;i++)
    {
        add(num1,num2,num3);
        move(num1,num2);
        move(num2,num3);
    }
    for(int i=len;i>=1;i--)cout< 
 
给个关注吧

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947294.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号