解题思路:
首先题目中给出了工作日和双休日写的数目,以及总共的题量,由于最大限制已经到达10的18次方,所以需要用long long int类型,同时由于数很大,很容易造成超限,所以不能从第一天开始,一天一天的循环,要先计算有多少个整周,对整周处理完之后,再去处理剩余的几天(最多六天),这样就可以满足题意了,并且不超限。
注意事项:类型要足够大,long long int
参考代码:
#include<bits/stdc++.h> using namespace std; long long int a,b,n; long long int d=0;//记录已经做过的题 long long int m=1;//记录星期 long long int h=0;//记录天数 int main(){ cin>>a>>b>>n; long long int z[7]={b,a,a,a,a,a,b}; long long int sum=a*5+b*2; long long int u=n/sum; d=sum*u; h=7*u; while(d<n){ d+=z[m%7]; m++; h++; } cout<<h; return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复