news 2026/10/31 1:33:46

打卡信奥刷题(2788)用C++实现信奥题 P3938 斐波那契

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(2788)用C++实现信奥题 P3938 斐波那契

P3938 斐波那契

题目背景

大样例可在页面底部「附件」中下载。

题目描述

小 C 养了一些很可爱的兔子。 有一天,小 C 突然发现兔子们都是严格按照伟大的数学家斐波那契提出的模型来进行 繁衍:一对兔子从出生后第二个月起,每个月刚开始的时候都会产下一对小兔子。我们假定, 在整个过程中兔子不会出现任何意外。

小 C 把兔子按出生顺序,把兔子们从 1 开始标号,并且小 C 的兔子都是 1 号兔子和 1 号兔子的后代。如果某两对兔子是同时出生的,那么小 C 会将父母标号更小的一对优先标 号。

如果我们把这种关系用图画下来,前六个月大概就是这样的:

其中,一个箭头A→BA \to BA→B表示AAA是BBB的祖先,相同的颜色表示同一个月出生的兔子。

为了更细致地了解兔子们是如何繁衍的,小 C 找来了一些兔子,并且向你提出了mmm个问题:她想知道关于每两对兔子aia_iai​和bib_ibi​,他们的最近公共祖先是谁。你能帮帮小 C 吗?

一对兔子的祖先是这对兔子以及他们父母(如果有的话)的祖先,而最近公共祖先是指 两对兔子所共有的祖先中,离他们的距离之和最近的一对兔子。比如,555和777的最近公共祖 先是2,12,12,1和222的最近公共祖先是1,61,61,6和666的最近公共祖先是666。

输入格式

输入第一行,包含一个正整数mmm。输入接下来mmm行,每行包含222个正整数,表示aia_iai​和bib_ibi​。

输出格式

输出一共mmm行,每行一个正整数,依次表示你对问题的答案。

输入输出样例 #1

输入 #1

5 1 1 2 3 5 7 7 13 4 12

输出 #1

1 1 2 2 4

说明/提示

【数据范围与约定】 子任务会给出部分测试数据的特点。如果你在解决题目中遇到了困难,可以尝试只解决一部分测试数据。 每个测试点的数据规模及特点如下表:

特殊性质111:保证aia_iai​,bib_ibi​均为某一个月出生的兔子中标号最大的一对兔子。例如,对 于前六个月,标号最大的兔子分别是1,2,3,5,8,131, 2, 3, 5, 8, 131,2,3,5,8,13。

特殊性质222:保证∣ai−bi∣≤1|a_i-b_i|\le 1∣ai​−bi​∣≤1。

C++实现

#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#defineilinlinell m,a,b;il llgi(){inta=0;charx=getchar();boolf=0;while((x<'0'||x>'9')&&x!='-')x=getchar();if(x=='-')x=getchar(),f=1;while(x>='0'&&x<='9')a=a*10+x-48,x=getchar();returnf?-a:a;}ll c[100];ilvoidfind(ll a,ll b){if(a<b)swap(a,b);if(a==b){printf("%lld\n",a);return;}intw=lower_bound(c,c+62,a)-c;find(b,a-c[w-1]);}intmain(){m=gi();c[0]=1;c[1]=1;for(inti=2;i<=61;i++)c[i]=c[i-1]+c[i-2];//printf("%lld\n",c[i]);while(m--){a=gi(),b=gi();find(a,b);}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/26 12:14:39

打卡信奥刷题(2790)用C++实现信奥题 P3941 入阵曲

P3941 入阵曲 题目背景 pdf题面和大样例链接&#xff1a;http://pan.baidu.com/s/1cawM7c 密码&#xff1a;xgxv 丹青千秋酿&#xff0c;一醉解愁肠。 无悔少年枉&#xff0c;只愿壮志狂。 题目描述 小 F 很喜欢数学&#xff0c;但是到了高中以后数学总是考不好。 有一天&…

作者头像 李华
网站建设 2026/10/23 1:35:55

为AI代理设计分层记忆

想象一个不仅仅是响应&#xff0c;而是记忆的AI。一个能够从过去的交互中学习、理解复杂关系、并从一个深邃的知识之井中提取事实的AI。这不是科幻小说&#xff1b;这是代理AI的承诺——而它的秘密武器在于一个复杂的、多层次记忆系统。 大语言模型&#xff08;LLMs&#xff0…

作者头像 李华
网站建设 2026/10/30 2:56:17

Android Jetpack Compose - 进度指示器、SegmentedButton、Chip

一、进度指示器 1、基本介绍 进度指示器可以分为 2 种类型类型说明确定型准确显示已完成的进度不确定型持续动画显示&#xff0c;不考虑进度进度指示器可以采用 2 种形式类型说明线性从左向右填充的水平条圆形笔画长度不断增加&#xff0c;直到覆盖整个圆周的圆2、基本使用 var…

作者头像 李华
网站建设 2026/10/30 8:53:34

AI产品经理破局之道:5大提问框架,让业务经验变AI燃料,建议收藏

AI产品经理常陷入业务与技术间的沟通困境&#xff0c;核心问题是业务拥有隐性知识&#xff0c;而AI需要显性规则。突破之道在于角色转变&#xff1a;从接需求到主动挖矿&#xff0c;从推销方案到定义问题&#xff0c;从交付功能到交付认知&#xff0c;从会议室专家到一线学徒。…

作者头像 李华
网站建设 2026/10/31 1:00:59

企业如何选择高效能的会员管理系统?

在当下的商业情形里&#xff0c;会员管理从单纯日常的客户信息记录&#xff0c;转变来成为企业数字化运作的关键部分。一个具备高效能的会员管理系统能够集合多渠道会员数据&#xff0c;达成精准营销、提高客户忠诚度&#xff0c;并且对业务增长带来直接推动作用。面对市面上诸…

作者头像 李华
网站建设 2026/10/27 8:50:23

基于深度学习YOLOv12的密集行人识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 本文设计并实现了一种基于YOLOv12深度学习模型的密集行人识别检测系统&#xff0c;结合YOLO数据集与用户友好的UI界面&#xff0c;构建了一套完整的行人检测解决方案。系统采用Python开发&#xff0c;包含登录注册功能&#xff0c;并基于YOLOv12算法优化了密集场…

作者头像 李华