• ICPC Pacific Northwest Regional Contest 2019


     D.Dividing by Two 

    题意:给定两个数a,b,通过最少的操作使a,b相等,

    可以执行的操作只有a=a/2(a为偶数)和a=a+1

    思路:当a<=b时,可以进行的操作只有a=a+1;

    当a>b时,尽可能多的使a=a/2,当a<b时再a=a+1;

    AC代码:

    #include<iostream>
    using namespace std;
    int main(){
        int a,b,i;
        cin>>a>>b;
        if(a<=b){
            cout<<b-a<<endl;
        }
        else{
            int sum=0;
            while(a!=b){
                if(a<b){
                    a=a+1;
                    sum++;
                }
                else if(a>b){
                    if(a%2==0){
                        a=a/2;
                        sum++;
                    }
                    else{
                        a=a+1;
                    	sum++;
                    }
                }
            }
            cout<<sum<<endl;
        }
    }
  • 相关阅读:
    apio2018题解
    ynoi2018
    hdu2036
    Morley's Theorem
    计算几何
    luogu1355 神秘大三角
    poj2398
    洛谷---小L和小K的NOIP考后放松赛
    LibreOJ β Round #7
    python3
  • 原文地址:https://www.cnblogs.com/nanan/p/12838975.html
Copyright © 2020-2023  润新知