当前位置: 首页 > news >正文

1201. 【高精度练习】蜜蜂路线

题目描述

一只蜜蜂在图5.1-2所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,

现在问你:蜜蜂从蜂房M开始爬到蜂房N,l≤M

输入

M,N的值。

输出

一个数表示爬行路线种数。

样例输入

1 14

样例输出

377

代码:

#include <stdio.h>
#include <string>
#include <algorithm>
using namespace std;
typedef string Number;

Number Map[100000];
#define ONE string("1")
#define Rev(a) reverse(a.begin(), a.end())
#define Get(a) ((a) - '0')
int x, y;
Number add(Number a, Number b) // 计算a+b
{
	Rev(a), Rev(b);
	size_t Size1 = a.size(), Size2 = b.size();
	Number ans;
	int carry = 0;
	for (size_t i = 0; i < Size1 || i < Size2; i++)
	{
		int addsum = carry;
		carry = 0;
		if (i < Size1) addsum += Get(a[i]);
		if (i < Size2) addsum += Get(b[i]);
		if (addsum >= 10) addsum -= 10, carry = 1;
		ans.push_back(addsum + '0');
	}
	if (carry) ans.push_back('1');
	Rev(ans);
	return ans;
}
int main()
{
	int m, n;
	scanf("%d%d", &m, &n);
	
	Map[m] = ONE;
	if (m + 1 <= n) Map[m + 1] = ONE;
	for (int i=m+2;i<=n;i++) Map[i] = add(Map[i - 1], Map[i - 2]);
	printf("%s",Map[n].c_str());
	return 0;
}
http://www.dtcms.com/a/82390.html

相关文章:

  • vpc网络的原理
  • 【Android】基础架构(详细介绍)
  • HAL库定时器配置
  • 每日一题力扣3248.矩阵中的蛇c++
  • 第三章:单调队列
  • Java中的JSONObject对象
  • DeepSeek-R1论文深度解析:纯强化学习如何引爆LLM推理革命?
  • LeetCode[454]四数相加Ⅱ
  • 近期学习资料,尚未整理
  • Wpf Avalonia-实现中英文切换工程
  • VAE,以及概率分布的各种知识点
  • 抓包工具:fiddler和wireshark对比
  • Python Django入门(创建其他网页)
  • PreparedStatement 和 Statement 从 功能、性能、安全性、适用场景 等维度详细对比分析
  • 架构师面试(十九):IM 架构
  • 某视频的解密下载
  • 地理信息科学(GIS)专业的就业出路与转型新方向,传统就业领域VS新兴技术赛道
  • docker模拟Dos_SYN Flood拒绝服务攻击 (Ubuntu20.04)
  • MyBatis 的一次缓存与二次缓存
  • 任务型多轮对话(二)| 意图识别
  • pta 乐子人游戏
  • 调用feapder作为子程序时setting.py文件不起作用
  • C++标准库新部件:解锁编程新姿势
  • win注册表提示没有权限进行修改的解决方式
  • (十)方法的定义 方法的作用域
  • 玩客云 armbian 安装mqtt服务端
  • 关于IPC sensor条纹问题分析
  • 在Kubernetes 1.26 上使用 StatefulSet 部署 MySQL8
  • 一文速通Python并行计算:00 并行计算的基本概念
  • 【论文笔记】生成对抗网络 GAN