_YueYang

导航

洛谷P6546题解

由于数字达到了10^9,直接模拟肯定会超时。

爬上a米,滑下b米,很明显,一天可以爬(a-b)米。

但是最后一天如果已经爬到v米了,就不用滑下去了,我们可以先算出第一天爬的距离,然后按照先滑再爬的顺序计算。

如果除不尽,就要向上取整,用ceil函数。

题目中说了a>b,所以一定有解。

代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int a,b,v,ans;
 4 int main(){
 5     scanf("%d%d%d",&a,&b,&v);
 6     v-=a;//先算出第一天的
 7     ans=ceil(1.0*v/(a-b));
 8     printf("%d",ans+1);//别忘了加回去
 9     return 0;
10 }

 

posted on 2020-07-19 16:49  _YueYang  阅读(207)  评论(0编辑  收藏  举报