依次從a拿2或拿1,a,b兩堆拿的,加起來都要是3
想法
暴力解是這樣,但會超時
for _ in range(int(input())):
a,b = map(int,input().split())
while True:
if (a+b)%3:
print("NO")
break
if a<0 or b <0:
print("NO")
break
elif a==0 and b==0:
print("YES")
break
if a>b:
a-=2
b-=1
else:
a-=1
b-=2
數學解
如果小的那邊”太小”,就沒辦法
for _ in range(int(input())):
a, b = map(int, input().split())
if (a + b) % 3 == 0 and 2 * min(a, b) >= max(a, b):
print("YES")
else:
print("NO")
這個解法比較好但比較想不到
Leave a Reply