版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Puppettt/article/details/85233081
大致题意:一首歌的长度为T,下载了S秒后开始播放,播放到没被下载的部分就从头开始播放。
定义q秒钟内下载(q-1)秒
问:一共从头播放了几次
思路:
q秒钟内下载(q-1)秒(即播放走q步,下载走(q-1)步)
追击问题。
s+v1*t1=v2*t2
回到终点ans++
s=v2*t2
直到总路程<=0
代码:
#include<bits/stdc++.h>
using namespace std;
#define maxn 200010
#define LL long long
LL t,s,q;
int main()
{
cin>>t>>s>>q;
t-=s;
int ans=0;
while(t>0)
{
t-=s*(q-1);
ans++;
s*=q;
}
printf("%d\n",ans);
return 0;
}