C語言實(shí)現(xiàn)wave波形
題目描述
一個(gè)n列的網(wǎng)格,從(0,0)網(wǎng)格點(diǎn)出發(fā),波形存在平波(從(x,y)到(x+1,y)),上升波(從(x,y)到(x+1,y+1)),下降波(從(x,y)到(x+1,y?1))三種波形,請問從(0,0)出發(fā),最終到達(dá)(n,0)的不同波形有多少種?如圖,3列網(wǎng)格有7種不同的波形。

輸入
第一行是樣例數(shù)T(1≤T≤42)。 以后每行一個(gè)整數(shù)n(1≤n≤42)。
輸出
每行輸出一個(gè)樣例的結(jié)果。
樣例輸入
3
1
2
3
樣例輸出
1
3
7

從一格到下一格有三種可能性,終點(diǎn)前一格到達(dá)終點(diǎn)格有3種可能性

重新排列一下
#include <stdio.h>
long long num[45][45];
void result()
{
int i,j;
num[1][1]=1,num[1][2]=1,num[1][3]=1;
for(i = 2;i < 44;i++)
{
num[i][1] = 1;
num[i][2*i+1] = 1;
num[i][2] = num[i-1][1]+num[i-1][2];
num[i][2*i] = num[i-1][2*i-1]+num[i-1][2*i-2];
for(j = 3;j <= 2*i-1;j++)
{
num[i][j] = num[i-1][j-2]+num[i-1][j-1]+num[i-1][j];
}
}
}
int main()
{
result();
int n,t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
printf("%lld\n",num[n][n+1]);
}
return 0;
}
以上所述是小編給大家介紹的C語言實(shí)現(xiàn)wave波形,希望對(duì)大家有所幫助。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
C語言全面梳理結(jié)構(gòu)體知識(shí)點(diǎn)
結(jié)構(gòu)體是一些值的集合,這些值稱為成員變量,結(jié)構(gòu)體的每個(gè)成員可以是不同類型的變量。本文將通過示例為大家詳細(xì)講講C語言中結(jié)構(gòu)體的使用,需要的可以參考一下2022-07-07
C語言數(shù)據(jù)結(jié)構(gòu)中定位函數(shù)Index的使用方法
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)中定位函數(shù)Index的使用方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解這部分內(nèi)容,需要的朋友可以參考下2017-10-10
C++拷貝構(gòu)造函數(shù)(深拷貝與淺拷貝)詳解
深拷貝和淺拷貝可以簡單理解為:如果一個(gè)類擁有資源,當(dāng)這個(gè)類的對(duì)象發(fā)生復(fù)制過程的時(shí)候,資源重新分配,這個(gè)過程就是深拷貝,反之,沒有重新分配資源,就是淺拷貝2013-09-09
C語言編程簡單卻重要的數(shù)據(jù)結(jié)構(gòu)順序表全面講解
這篇文章主要為大家介紹了C語言編程中非常簡單卻又非常重要的數(shù)據(jù)結(jié)構(gòu)順序表的全面講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10
VC MFC非模態(tài)對(duì)話框的實(shí)現(xiàn)方法
這篇文章主要介紹了VC MFC非模態(tài)對(duì)話框的實(shí)現(xiàn)方法,有助于讀者加深對(duì)于模態(tài)對(duì)話框與非模態(tài)對(duì)話框的理解與運(yùn)用,需要的朋友可以參考下2014-07-07

