本周事情较多,练习了两道蓝桥杯真题,
这道题应该先去判断用了几周时间,因为每周做的题目数量是固定的,即为5*a+2*b,用n除以这个式子即可得到共花了几周时间,然后用n对那个式子取余就可得到剩余的题目数,然后进行判断,如果剩余题目数为0,那么天数即为n除以每周题目数,如果不为0,那接着继续判断.
#include<iostream>
using namespace std;
int main(){
long long a,b,n,ti=0,tian=0,sum=0;
cin>>a>>b>>n;
tian=n/(5*a+2*b);
sum=n%(5*a+2*b);
if(sum){
for(int i=1;i<=7;i++){
if(i<=5) ti+=a;
else ti+=b;
if(ti>=sum){
cout<<7*tian+i<<endl;
break;
}
}
}
else cout<<7*tian<<endl;
}
该题需要进行分析一下,设刚开始位置为i,如果往右边开始,那么最高高度为2*(n-i),如果往左边,那么最高高度为2*(i-1),如此分析之后,直接输出每棵灌木的最高高度
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cout<<2*max((i-1),(n-i))<<endl;
}
return 0;
}