[演算法] [C++ / Python] 當 DFS 遇上排列

深度優先搜尋(DFS)是樹或圖的一種走訪方式,而我們也可以將他應用在「排列」上。 剪刀、石頭、布!-全部排列現在有三個人:甲、乙、丙在猜拳,已知他們會出完全不同的拳,而你想知道依照甲、乙、丙的順序,他們出拳的排列有哪幾種的話,就可以用 DFS 來算喔! 蛤?用 DFS?這不是樹的走訪嗎?管他的,先上程式碼! C++string gesture[3] = {"剪刀", "石頭", "布"}; bool visited[3] = {false}; string arrangement[3]; void dfs(int layer){ if (layer == 3){ for (int i =...