返回列表 發帖

路徑問題

路徑問題

內容 : 正體->简体


考慮在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 研習營初選
  1. #include<cstdio>
  2. using namespace std;
  3. int main()
  4. {
  5.     int a ;
  6.     scanf("%d",&a) ;
  7.    
  8.     long long  list[53] ;
  9.     list[1]=3;
  10.     list[2]=7 ;
  11.     for(int i=3;i<=a;i++)
  12.     {
  13.         list[i]=(list[i-1]-list[i-2])+list[i-2]*2+list[i-1] ;   
  14.     }
  15.    
  16.     printf("%lld\n",list[a]) ;
  17.   
  18.      
  19.    // scanf(" ") ;
  20.    
  21. }
複製代碼
話說阿  題目說N到50  答案LONGLONG會爆炸  所以呢   如果丟大數進去了話  這題就解出來了˙ ˙

TOP

返回列表