P11062 【MX-X4-T2】「Jason-1」加法

Posted on 2025-04-18 23:04  K_J_M  阅读(34)  评论(0)    收藏  举报

题目描述

给定两个整数 \(a, b\)(可能为负),你可以进行任意多次操作(也可以不操作),每次操作你需要在如下两种形式中进行选择:

  • 操作 1:将 \(a\) 赋值为 \(a\)\(b\) 的和,即 \(a \gets a + b\)
  • 操作 2:将 \(b\) 赋值为 \(a\)\(b\) 的和,即 \(b \gets a + b\)

你的目标是最小化 \(a\)\(b\) 的差的绝对值 \(\lvert a-b \rvert\),请输出最小值。

分类讨论

\(a,b≥1\) 时,显然答案为

\[\begin{cases} \min(a-b,b) & a>b\\ \min(b-a,a) & \text{otherwise} \end{cases} \]

\([a=0]+[b=0]>0\) 时,答案为 \(0\)
\(a,b<0\) 时,如果执行任意操作,可以证明答案永远不会更小,此时答案为\(|a-b|\)
\(a\times b<0\) 时,手模几组样例会发现每次让绝对值大的加上绝对值小的,其过程类似于辗转相除法,最后必然得到 \(0\)
Ac Code