1 条题解
-
0
G2007 [GESP202312 二级] 小杨做题 题解
知识点:递推、循环累加、模拟。
解题思路
前两天分别为a、b,后续一天为前两天之和。将每天题量累加,达到停止阈值m或完成n天时结束。
为什么正确
始终保存相邻两天题量并按递推生成下一天,累计值恰为已完成天数的总题量。
易错点
触发阈值的当天也计入总数;停止条件按题目给定的天数规则处理。
复杂度
时间O(n),空间O(1)。
参考代码(C++17)
#include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); long long a,b,m,n,s; cin>>a>>b>>m>>n; s=a+b; for(int i=3;i<=n;i++) { long long c=a+b; s+=c; if(c>=m)break; a=b; b=c; } cout<<s; }说明
本题解为配套教学整理,非官方题解。复杂度按本页参考实现计算,题库使用6个自行生成的测试点。
- 1