解题思路:
首先题目中给出了工作日和双休日写的数目,以及总共的题量,由于最大限制已经到达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 人评分
ASCII帮了大忙浏览:797 |
WU-蓝桥杯算法提高VIP-Quadratic Equation (C++代码)浏览:1808 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1110 |
C语言训练-自由落体问题 (C语言代码)浏览:650 |
sizeof的大作用 (C语言代码)浏览:1138 |
输入输出格式练习 (C语言代码)浏览:883 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:751 |
幸运数 (C++代码)浏览:2982 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:584 |
1199题解浏览:707 |