国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

【DP入門】超級(jí)臺(tái)階

2019-11-14 11:35:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

題目來(lái)自nyist第76題,如下:

描述

有一樓梯共m級(jí),剛開(kāi)始時(shí)你在第一級(jí),若每次只能跨上一級(jí)或二級(jí),要走上第m級(jí),共有多少走法?注:規(guī)定從一級(jí)到一級(jí)有0種走法。輸入輸入數(shù)據(jù)首先包含一個(gè)整數(shù)n(1<=n<=100),表示測(cè)試實(shí)例的個(gè)數(shù),然后是n行數(shù)據(jù),每行包含一個(gè)整數(shù)m,(1<=m<=40), 表示樓梯的級(jí)數(shù)。輸出

對(duì)于每個(gè)測(cè)試實(shí)例,請(qǐng)輸出不同走法的數(shù)量。

這題可以用許多解法,DP遞推式:dp[i] = dp[i-1]+dp[i-2],其中dp數(shù)組為到達(dá)第i級(jí)階梯的走法i可以由i-1級(jí)跨一步或者i-2級(jí)跨兩步走來(lái),所以達(dá)到第i級(jí)的走法等于兩者相加,由于本題有限定1到1級(jí)為0,并且,遞推式中需要已知i-2的dp值,所以可以先列出(手動(dòng)賦值)1、2、3的dp值,然后用for循環(huán)求出dp值。本題采用打表后直接輸出的方法,可以減少?gòu)?fù)雜度,避免每次輸入一個(gè)m就重新算一次。

代碼如下:

#include <stdio.h>int dp[45]; int main(){	int m,i,n;	scanf("%d",&n);	dp[2] = 1;dp[1] = 0;dp[0]= 0;dp[3] = 2; 	for(i = 4;i<=41;i++)	{		dp[i] = dp[i-1]+dp[i-2];	}	while(n--)	{		scanf("%d",&m); 		PRintf("%d/n",dp[m]); 	}	return 0; } 有了遞推式,本題還可以用遞歸求解。有輸出可知本題就是斐波拉契數(shù)列。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 盘锦市| 彭阳县| 北流市| 尚志市| 襄城县| 全南县| 昌黎县| 西乌珠穆沁旗| 太湖县| 诸暨市| 鹤山市| 遵义县| 白朗县| 曲松县| 宣威市| 会泽县| 中西区| 石首市| 涞源县| 邵阳县| 贵州省| 泊头市| 务川| 玉山县| 松潘县| 类乌齐县| 绥棱县| 金坛市| 霞浦县| 新平| 峨眉山市| 黄平县| 镇赉县| 门头沟区| 房产| 乌审旗| 宿松县| 新泰市| 北流市| 林口县| 留坝县|