樹屋階梯(卡特蘭數 高精除低精 高精乘低精)

2021-07-22 20:07:48 字數 960 閱讀 5881

安徽省選 2012

題目描述:

暑假期間,小龍報名了乙個模擬野外生存作戰訓練班來鍛鍊體魄,訓練的第乙個晚上,教官就給他們出了個難題。由於地上露營濕氣重,必須選擇在高處的樹屋露營。小龍分配的樹屋建立在一顆高度為 n+1 尺(n 為正整數)的大樹上,正當他發愁怎麼爬上去的時候,發現旁邊堆滿了一些空心四方鋼材,經過觀察和測量,這些鋼材截面的寬和高大小不一,但都是 1 尺的整數倍,教官命令隊員們每人選取 n 個空心鋼材來搭建乙個總高度為 n 尺的階梯來進入樹屋,該階梯每一步台階的高度為 1 尺,寬度也為 1 尺。如果這些鋼材有各種尺寸,且每種尺寸數量充足,那麼小龍可以有多少種搭建方法?(注:為了避免夜裡踏空,鋼材空心的一面絕對不可以向上。)

以樹屋高度為 4 尺、階梯高度 n=3 尺為例,小龍一共有5 種搭建方法。

輸入描述:

乙個正整數n(1≤n≤500) ,表示階梯的高度。

輸出描述:

乙個正整數,表示搭建方法的個數。(注:搭建方法個數可能很大。)

樣例輸入:

3樣例輸出:

5

#includeusing namespace std;

const

int maxn=100001;

int n,len,f[maxn],ans[maxn];

void mul(int x)

while(ans[len+1])

}void div(int x)

for(int i=1;i<=len;i++)

ans[i]=b[len-i+1];

while(!ans[len]&&len>1)

len--;

}void work(int k)

int main()

樹屋階梯(卡特蘭數 高精除低精 高精乘低精)

安徽省選 2012 題目描述 暑假期間,小龍報名了乙個模擬野外生存作戰訓練班來鍛鍊體魄,訓練的第乙個晚上,教官就給他們出了個難題。由於地上露營濕氣重,必須選擇在高處的樹屋露營。小龍分配的樹屋建立在一顆高度為 n 1 尺 n 為正整數 的大樹上,正當他發愁怎麼爬上去的時候,發現旁邊堆滿了一些空心四方鋼...

二叉樹計數2(卡特蘭數 高精乘低精 高精除低精)

題目描述 乙個有n個結點的二叉樹總共有多少種形態 輸入描述 讀入乙個正整數n 輸出描述 輸出乙個正整數表示答案 樣例輸入 5樣例輸出 1 n 100 includeusing namespace std const int maxn 10010 int n,len,f maxn void mul i...

高精度除法(高精除低精)(C語言實現)

高精度,是學c語言漫長的路上必須要學的一類程式 高精度加法 c語言實現 高精度減法 c語言實現 高精度乘法 高精乘低精 c語言實現 高精度乘法 高精乘高精 c語言實現 高精度除法 高精除低精 c語言實現 include includechar s 1000000 int a 1000000 b 10...