炸蝦碎碎念。

[Notes, GNU/Linux, Open Source, Ruby on Rails, Computer Science, Archlinux]

[Code] Uva-11069 a Graph Problem

http://uva.onlinejudge.org/external/110/11069.html
我太急了 一下子沒想出來就看別人code
這其實很好想啊…
我好廢啊= =
因為不能走到相鄰的點
中間也不能有地方能插入合法的點
所以只有兩種狀況
走到第n + 2個點
或是第n + 3個點

#include <stdio.h>

int dp[77];  
int main()  
{  
 int i, n;  
 dp[1] = 1;  
 dp[2] = 2;  
 dp[3] = 2;  
 while (scanf("%d", &n) != EOF) {  
 if (dp[n]) {  
 printf("%d\n", dp[n]);  
 continue;  
 }  
 for (i = 4; i <= n; i++) {  
 dp[i] = dp[i - 2] + dp[i - 3];  
 }  
 printf("%d\n", dp[n]);  
 }  
 return 0;  
}  

Comments