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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

CODE[VS] 天梯 1011 數(shù)的計算 2001年NOIP全國聯(lián)賽普及組

2019-11-11 05:56:16
字體:
供稿:網(wǎng)友

此代碼用于以后方便復(fù)習(xí)使用,僅供參考。

數(shù)的計算 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 白銀 Silver

題解 查看運行結(jié)果 題目描述 Description 我們要求找出具有下列性質(zhì)數(shù)的個數(shù)(包含輸入的自然數(shù)n):

先輸入一個自然數(shù)n(n<=1000),然后對此自然數(shù)按照如下方法進行處理:

不作任何處理;

在它的左邊加上一個自然數(shù),但該自然數(shù)不能超過原數(shù)的一半;

加上數(shù)后,繼續(xù)按此規(guī)則進行處理,直到不能再加自然數(shù)為止.

輸入描述 Input Description 一個數(shù)n

輸出描述 Output Description 滿足條件的數(shù)的個數(shù)

樣例輸入 Sample Input 6

樣例輸出 Sample Output 6

數(shù)據(jù)范圍及提示 Data Size & Hint 6個數(shù)分別是:

6

16

26

126

36

136

思路: 我的思路是,記憶化dfs。根據(jù)之前算出的結(jié)果,去掉重復(fù)計算,直接返回結(jié)果。不知道有沒有更好的方法,歡迎分享!!

#include<iostream>#include<string.h>#include<math.h>using namespace std;int dp[1001];int dfs(int n){ if(dp[n]!=-1)return dp[n];//記憶化搜索,如果有直接返回數(shù)值 if(n==1){return dp[1]=1;}//dfs邊界問題,到界直接返回 else { int sum = 1;//算上自身個數(shù),所以從1開始累加 ,如2,加上自身2,和下面返回的結(jié)果1,一共2種可能 for(int i = 1;i<=n/2;i++){ sum+=dfs(i);//這里的dfs返回的是前面能添加數(shù)的種類數(shù) } return dp[n] = sum;//將此時n統(tǒng)計的結(jié)果進行返回,返回到對應(yīng)角標數(shù)組中保存 }}int main(){ int n; cin>>n; memset(dp,-1,sizeof(dp)); cout<<dfs(n)<<endl; return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桐柏县| 新巴尔虎左旗| 柳州市| 株洲市| 日土县| 甘谷县| 黔东| 邯郸县| 新巴尔虎左旗| 石棉县| 普定县| 驻马店市| 堆龙德庆县| 巴马| 自治县| 临桂县| 屏边| 呼伦贝尔市| 辽阳县| 新兴县| 普陀区| 北碚区| 庆城县| 武安市| 大宁县| 新乡市| 洪湖市| 平昌县| 涟源市| 马公市| 泸水县| 调兵山市| 介休市| 申扎县| 佛山市| 灵武市| 山西省| 钟祥市| 石狮市| 大渡口区| 石首市|