题目大意就是开局一根小木棍,然后你可以与商人做生意,用一根木棍换X根木棍也可以用Y根木棍换1块煤,做一个火把需要一个木棍和一块煤,现在需要做K个火把,问总共最少要和好心的商人做多少次交易(MC?)。
很简单的,首先必须要拿到K个煤块,所以必须进行K次交换煤的交易(开局手上是没有煤块的)。然后我们需要从商人那交易到足够做火把和交易煤块用的木棍,即k + k * y - 1个木棍(开局自带一个,所以减1),看看总共要交易多少次。
void solve()
{
ll x,y,k;cin>>x>>y>>k;
ll ans=k,tmp=k+k*y-1;
ll ct=tmp/(x-1);
ans+=ct*(x-1)<tmp?(ct+1):ct;
cout<<ans<<endl;
}