首页 > 试题广场 >

变幻莫测

[编程题]变幻莫测
  • 热度指数:143 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给出两个整数,你可以任意顺序多次执行以下两个操作。 求出使得时所需的最少操作次数。 如果无法实现,则输出
令经过一次操作后的值分别为
操作一:
操作二:

输入描述:
输入的第一行给出两个整数
{-100 \leq X,Y \leq 100}


输出描述:
输出使得时所需的最少操作次数。 如果无法实现,则输出 
示例1

输入

5 8

输出

-1
示例2

输入

5 -5

输出

3
def min_change(x, y):
    visited = set() 
    
    def dfs(a, b, step):
        if step > 100: 
            return float('inf')
            
        if (a, b) in visited:
            return float('inf')
            
…        return min(res1, res2)
    
    res = dfs(x, y, 0)
    return res if res != float('inf') else -1

nums = list(map(int, input().split()))
print(min_change(nums[0], nums[1]))


发表于 2025-07-04 10:36:06 回复(0)