路徑問題
內容 : 正體->简体
考慮在X-Y 平面上的整數格子點上建構長度為N 的路徑。其中在格子點(x, y)時,路徑可以往右走到格子點(x+1, y);或往左走到格子點(x-1, y);或往上走到格子點(x, y+1)。長度為N的路徑必須經過N個相異的邊。試問由原點(0, 0)出發並按照上述規則所形成長度為N 的路徑有幾條?
輸入說明 :
輸入僅有一列,包含一個正整數N (1<= N <=50)。
輸出說明 :
輸出所有由原點(0, 0)出發且長度為N的路徑總數。
範例輸入 :
若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。1
3
範例輸出 :
3
17
提示 :
出處 :
2009 TOI 研習營初選- #include<cstdio>
- using namespace std;
- int main()
- {
- int a ;
- scanf("%d",&a) ;
-
- long long list[53] ;
- list[1]=3;
- list[2]=7 ;
- for(int i=3;i<=a;i++)
- {
- list[i]=(list[i-1]-list[i-2])+list[i-2]*2+list[i-1] ;
- }
-
- printf("%lld\n",list[a]) ;
-
-
- // scanf(" ") ;
-
- }
複製代碼 話說阿 題目說N到50 答案LONGLONG會爆炸 所以呢 如果丟大數進去了話 這題就解出來了˙ ˙ |