今天發一篇backtracking
題目:
這是聖誕老人的房子,現在我們要用一筆畫把他畫出來
而我們規定由左下角(編號1)開始畫,請寫個程式列出所有畫法
一組路徑的輸出方式為依序輸出每個經過的數字:123153452,最後列出的各解法需依數字大小
把房子存成圖後開始backtracking,嘗試所有走法,走過的記得記錄下來
窮途末路時走回上一步,清除走過的紀錄,當集滿9個數字時就把這組解推入vector
這裡的解是用string存,(char)(數字+'0')轉成字元,最後sort會依照字典序(剛好就是數字大小)排序
輸出,完成,去上學囉!
一組路徑的輸出方式為依序輸出每個經過的數字:123153452,最後列出的各解法需依數字大小
做法:
一筆畫畫完8條邊,加上起點共有9個數字把房子存成圖後開始backtracking,嘗試所有走法,走過的記得記錄下來
窮途末路時走回上一步,清除走過的紀錄,當集滿9個數字時就把這組解推入vector
這裡的解是用string存,(char)(數字+'0')轉成字元,最後sort會依照字典序(剛好就是數字大小)排序
輸出,完成,去上學囉!
沒有留言:
張貼留言