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

题目描述

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

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

输入

M,N的值。

输出

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

样例输入

复制代码
1 14

样例输出

复制代码
377

代码:

cpp 复制代码
#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;
}
相关推荐
昵称画3 小时前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
“AI国潮设计-小江”4 小时前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
传奇开心果编程4 小时前
【Rust入门练中学】第6课:结构体与方法
开发语言·rust·结构体·编程语言理论·结构体方法·编程通用语言
code tsunami4 小时前
【无标题】
开发语言·python
春弦_4 小时前
自用算法整理二
数据结构·算法·图论
CodeGL4 小时前
10、Python基础之进程和线程
开发语言·python
hetao17338375 小时前
2026-10-22~23 hetao1733837 的刷题记录
c++·算法
TechWayfarer6 小时前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
java_nnnn6 小时前
LeetCode刷题滑动窗口(串联所有单词的子串+最小覆盖的子串)Java
算法·leetcode·职场和发展
王老师青少年编程6 小时前
2025年6月GESP真题及题解(C++三级): 选择题和判断题(题解)
c++·真题·gesp·答案·csp·三级·信奥赛