[演算法] [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 =...

[C/C++] 每天來點字串用法 (3) - const char* to char*

這次沒有拖到欸d(`・∀・)b(然而三年後拖到了) 今天帶來的不是函式,而是一個小技巧: 由 const char* 轉成 char*有時候可能在將字串傳入函式時,會出現以下錯誤: error: invalid conversion from 'const char*' to 'char*' note: expected 'char *' but argument is of type 'const char *' 這是因為 const char* 沒辦法自動轉換成 char*,那麼基本上是沒救了啦,不過有一些方法可以繞過編譯器檢查或達到與轉換型別相同的效果: 直接修改函式參數的型態定義...