1247 可能的路徑

2021-09-11 04:43:06 字數 835 閱讀 4500

在乙個無限大的二維網格上,你站在(a,b)點上,下一步你可以移動到(a + b, b), (a, a + b), (a - b, b), 或者 (a, a - b)這4個點。

給出起點座標(a,b),以及終點座標(x,y),問你能否從起點移動到終點。如果可以,輸出"yes",否則輸出"no"。

例如:(1,1) 到 (2,3),(1,1) -> (2,1) -> (2,3)。

收起

第1行:乙個數t,表示輸入的測試數量(1 <= t <= 5000)

第2 - t + 1行:每行4個數,a, b, x, y,中間用空格分隔(1 <= a, b, x, y <= 10^18)

輸出共t行,每行對應1個結果,如果可以,輸出"yes",否則輸出"no"。
2

1 1 2 3

2 1 2 3

yes

yes

就看他的最小公倍數和他的最小公倍數是不是相等,其實按照規則去思考,你會發現能到達的點都是最小公倍數能到達的點。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

long long cn(long long u,long long  v)

int main()

return 0;

}

51nod 1247 可能的路徑

逆向思維,先證明點p1可以到點p2,然後可以從p2返回p1。然後找一點m,如果點 a,b 可以到達m,並且點 x,y 也可以到大m,則 a,b 可以到達 x,y 相關討論裡給的證明 給個不太嚴謹的證明思路 第一步 證明路徑可逆,也就是如果 a,b x,y 可行,則 x,y a,b 可行 這個比較直觀...

133 所有可能的路徑

題目描述 給乙個有 n 個結點的有向無環圖,找到所有從 0 到 n 1 的路徑並輸出 不要求按順序 結點的數量會在範圍 2,15 內。你可以把路徑以任意順序輸出,但在路徑內的結點的順序必須保證。使用回溯和遞迴進行 class solution public static void dfspath l...

797 所有可能的路徑

一 dfs回溯 class solution object 方法一 dfs def allpathssourcetarget self,graph type graph list list int rtype list list int if not graph 0 return res n len...