题解 | #1011.Three Operations# 2023杭电暑期多校7

1011.Three Operations

签到题

题目大意

给定正整数 x , a , b x,a,b x,a,b 可以进行以下操作:

  1. x ← x − 1 x\leftarrow x-1 xx1
  2. x ← ⌊ x + a 2 ⌋ x\leftarrow \lfloor \dfrac{x+a}{2} \rfloor x2x+a
  3. x ← ⌊ x + b ⌋ x\leftarrow \lfloor \sqrt{x+b} \rfloor xx+b

求使得 x x x 变为 0 0 0 的最少操作次数

解题思路

每次比较三种操作后的 x x x 最小即可

参考代码

参考代码为已AC代码主干,其中部分功能需读者自行实现

void solve()
{
    ll x,a,b,t,re=0;cin >> x >> a >> b;
    while(x){
        t=min((x+a)/2,(ll)sqrt(x+b));
        if(t

你可能感兴趣的:(2023杭电多校,c++)