news 2026/5/1 4:44:05

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

作者头像

张小明

前端开发工程师

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

P3938 斐波那契

题目背景

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

题目描述

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

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

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

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

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

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

输入格式

输入第一行,包含一个正整数mmm。输入接下来mmm行,每行包含222个正整数,表示aia_iaibib_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 1aibi1

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/3/22 7:56:36

开源数据之天气预报数据

上一篇文章中&#xff0c;我们谈到了历史气象数据的获取。在很多环境建模场景中&#xff0c;比如洪涝风险评估、生态系统模拟、未来情景预测等&#xff0c;你还需要未来天气预报数据来驱动模型&#xff1a; 短期降雨预报&#xff08;影响洪峰和水资源&#xff09;温度/湿度预报…

作者头像 李华
网站建设 2026/4/26 4:53:05

Word文档转PPT工具全攻略

一、工具类型概览1. AI智能转换工具&#xff08;推荐&#xff09;自动识别文档结构&#xff0c;智能生成PPT支持标题、段落、表格、图表的智能转换一键美化设计&#xff0c;提供专业模板2. 传统转换工具直接转换Word结构到PPT&#xff0c;但缺乏智能设计适合简单文档&#xff0…

作者头像 李华
网站建设 2026/4/23 10:30:32

2026网络安全法正式实施,这6个专业直通网络安全领域!

【收藏必备】2026新《网络安全法》实施&#xff0c;网络安全人才缺口大&#xff0c;这6个专业值得关注&#xff01; 2026年新修订的《网络安全法》正式施行&#xff0c;标志着我国网络安全治理体系重要升级&#xff0c;为人工智能时代的网络安全挑战提供法律支撑。随着治理体系…

作者头像 李华
网站建设 2026/4/21 2:13:03

双机党:一台小米一台华为,怎样相互远程控制?

林薇把新买的小米手机放进通勤包时&#xff0c;指尖划过机身流畅的曲面屏&#xff0c;新手机的质感让她心情愉悦。桌角的华为手机还亮着屏&#xff0c;上周刚换主力机时她纠结了好久&#xff0c;这部华为机里存着三年来的客户资料、项目备份&#xff0c;还有几个专属工作账号&a…

作者头像 李华
网站建设 2026/5/1 3:59:36

别再发 jar 了!用 Spring Boot + jpackage 一键生成 exe / msi 安装包

你是不是也遇到过这种情况&#xff1a;辛辛苦苦写好了一个 Spring Boot 项目&#xff0c;打成 jar 包发给别人&#xff0c;结果对方一句&#xff1a;“你这还要装 Java 啊&#xff1f;”对于很多非技术用户来说&#xff0c;“装 JDK、配环境变量”这一步&#xff0c;就已经把人…

作者头像 李华