ACM UVA-11069

這題也是DP題,我們一定得從第一個節點或者是第二個節點開始,因為假設我們從第三個節點開始選的話,不管怎樣我們都可以加入第一個節點而不跟其它節點相鄰,所以分成兩個情況,第一個情況是選第一個節點,那麼我們就不能選第二個節點,所以問題就變成從第三個節點之後有幾個答案(也就是扣掉前面兩個節點,f[n-2]),第二個情況是選擇第二個節點,那麼我們就不能選第三個節點,所以問題就變成從第四個節點開始有幾個答案(也就是扣掉前面三個節點,f[n-3])。

所以關係式應為f[n] = f[n-2]+f[n-3]

其中f[n-2]的意思是從第三個節點開始算有幾個答案,可以把它想成我們的問題少了前面那兩個節點,就是變成子問題的意思啦! f[n-3]也是一樣,代表從第四個節點開始算的話會有幾個答案。