日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小兔的棋盘(HDU-2067)

發布時間:2025/3/17 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小兔的棋盘(HDU-2067) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Problem Description

小兔的叔叔從外面旅游回來給她帶來了一個禮物,小兔高興地跑回自己的房間,拆開一看是一個棋盤,小兔有所失望。不過沒過幾天發現了棋盤的好玩之處。從起點(0,0)走到終點(n,n)的最短路徑數是C(2n,n),現在小兔又想如果不穿越對角線(但可接觸對角線上的格點),這樣的路徑數有多少?小兔想了很長時間都沒想出來,現在想請你幫助小兔解決這個問題,對于你來說應該不難吧!

Input?

每次輸入一個數n(1<=n<=35),當n等于-1時結束輸入。

Output

對于每個輸入數據輸出路徑數,具體格式看Sample Output。

Sample Input

1
3
12
-1

Sample Output

1 1 2
2 3 10
3 12 416024

思路:滿足卡特蘭數列遞推公式,打表即可

Source Program

#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<string> #include<cstdlib> #include<queue> #include<set> #include<map> #include<stack> #include<ctime> #include<vector> #define INF 0x3f3f3f3f #define PI acos(-1.0) #define N 1001 #define MOD 1e9+7 #define E 1e-6 #define LL long long using namespace std; LL Catalan[N]; int main() {Catalan[0]=1;Catalan[1]=1;for(int i=2;i<=36;i++){Catalan[i]=0;for(int j=0;j<i;j++)Catalan[i]+=(Catalan[j]*Catalan[i-1-j]);}int n;int cnt=1;while(scanf("%d",&n)!=EOF&&n!=-1){printf("%d %d %lld\n",cnt++,n,Catalan[n]*2);}return 0; }

?

總結

以上是生活随笔為你收集整理的小兔的棋盘(HDU-2067)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。