2021-5-11 atcoder C - Replacing Integer

Posted 要坚持写博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-5-11 atcoder C - Replacing Integer相关的知识,希望对你有一定的参考价值。

本题题目链接

本题题目的大概意思是:令res=|n-k|, 可以一直res=|res-k|。

我们做这题得分三种情况:

n<k时, 模拟一下子过程: |n-k|=k-n;
|k-n-k|=n;
|n-k|=k-n;
模拟到这一步就应该能看出来求的就是 k-n和n的最小值。

n>k时,我们可以先令res=n%k,此时就和第一种情况一样了,求res和k-res的最小值。

代码如下:

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
    long long n,m;
    long long res=0;
    cin>>n>>m;

        if(m>n)
        {
            cout<<min(n,m-n)<<endl;
        }
        else{
            res=n%m;
            cout<<min(res,m-res)<<endl;
        }
    return 0;
}

以上是关于2021-5-11 atcoder C - Replacing Integer的主要内容,如果未能解决你的问题,请参考以下文章

题解 [Atcoder ABC 161] A,B,C

AtCoder ARC 076E - Connected?

AtCoder Beginner Contest 161

AtCoder Regular Contest 075 E - Meaningful Mean 树状数组求顺序对, 前缀和

AtCoder Regular Contest 074 E:RGB Sequence

ATcoder