题解 | #极客杯-快乐假期-GGboy的真命天女#
极客杯-快乐假期-GGboy长胖了
https://ac.nowcoder.com/acm/contest/73273/A
GGboy的真命天女
这道题难点在于k是有正有负的,同学们需要进行大量的判断。
不过我们可以换一种思路,如果从target倒推到k呢?
如果target是k转移来的。那么target-1一定是2的倍数或者3的倍数,否则直接返回false
因为2k + 1 = target,或者3k + 1 = target
具体我们看代码会更容易理解
def I(): return input()
def II(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(input().split())
def LII(): return list(map(int, input().split()))
k, target = MI()
def dfs(k, target):
if k == target:
return True
target -= 1
if target % 2 == 0 and dfs(k, target//2):
return True
if target % 3 == 0 and dfs(k, target//3):
return True
return False
if dfs(k, target):
print("true")
else:
print("false")