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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

跳石板(详解)

發布時間:2024/7/23 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 跳石板(详解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接:
https://www.nowcoder.com/practice/4284c8f466814870bae7799a07d49ec8?tpId=85&&tqId=29852&rp=1&ru
題目分析:
這道題就是計算從N開始加,最少加幾次等于M,前提條件是每次相加的數必須是當前數的約數
思路分析:
將M個石板看做一個保存結果的數組jumpNum,每個jumpNum[i]中都儲存著從N到當前位置最小的步數,如果是0,則說明不能走到這個位置。從起點開始對jumpNum進行遍歷,先求當前位置的所有約數也就是當前位置可以向前走的步數,然后更新到能到達的位置的最小步數。之前沒有來過這個位置,就將該位置更新為當前步數+1,否則更新為之前的步數和當前步數+1兩者最小的,經過遍歷一一次后得到結果,jumpNum[M]就是從N開始加,加到M的最少次數,如果是0,說明不可能加到M。
圖解思路:

上代碼:

#include<iostream> #include<vector> #include<algorithm>using namespace std;//計算約數,求除了1和本身的約數 void divisorNum(int n, vector<int>& divNum) {for (int i = 2; i <= sqrt(n); i++){if (n%i == 0){divNum.push_back(i);//非平方數時還有另一個數也要加入if (n / i != i)divNum.push_back(n / i);}} } int Jump(int N, int M) {//儲存到達此stepNum點的步數,vector<int>stepNum(M + 1, 0);//初始N為1步,從N到N為1步stepNum[N] = 1;for (int i = N; i < M; i++){//用來保存N的所有約數,即為從本身這個點開始能走的數量vector<int>divNum;//如果當前的位置是0代表這個點不能到,因為0沒有約數if (stepNum[i] == 0)continue;//將當前位置可以走的步數存放在divisorNUm中divisorNum(i, divNum);//開始挨個試這些步數for (int j = 0; j<divNum.size(); j++){//之前走到該點的步數為stepNum[divNum[j] + i]//走到當前位置的步數為stepNum[i] + 1//如果當前位置不是M,并且走的步數不為零,//那么當前能走到該點的步數要和之前該點的步數進行對比,取最小的if ((divNum[j] + i) <= M && stepNum[divNum[j] + i] != 0)stepNum[divNum[j] + i] = min(stepNum[divNum[j] + i], stepNum[i] + 1);//否則,如果當前位置不是M,//那么就說明走到這個位置的步數為0,就要將這個位置的步數更新else if((divNum[j] + i) <= M)stepNum[divNum[j] + i] = stepNum[i] + 1;}}for (int i = 0; i < stepNum.size(); ++i){cout << stepNum[i] << "->";}cout << endl;if (stepNum[M] == 0)return-1;else//初始化時多給了一步,故需要減1return stepNum[M] - 1; } int main() {int n, m;cin >> n >> m;cout << Jump(n, m) << endl;return 0; }

總結

以上是生活随笔為你收集整理的跳石板(详解)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧洲中文字幕日韩精品成人 | 亚洲成a人片77777kkkk | 亚洲午夜片 | 国产chinese | 成人国产一区二区三区精品麻豆 | 中文在线不卡视频 | 黄色av网站在线免费观看 | 亚洲精品久久久久久 | 91免费看 | 禁网站在线观看免费视频 | 99产精品成人啪免费网站 | 在线免费观看视频黄 | 亚洲性猛交xxxx乱大交 | 婷婷激情六月 | 欧美在线精品一区二区三区 | 久久三级精品 | 国产午夜福利100集发布 | 日韩福利网 | 成人免费毛片糖心 | 99re6热在线精品视频播放 | 久久91亚洲人成电影网站 | 91大神在线看 | 日本视频二区 | 色婷婷av一区二区三区四区 | www.超碰| 成人午夜视频在线观看 | 就操网| 麻豆极品 | 久久国产视频播放 | 中文字幕在线看高清电影 | 中文字幕+乱码+中文字幕明步 | 偷拍第1页 | 国产激情视频一区 | 亚洲va欧美va天堂v国产综合 | 国产精品一区二区入口九绯色 | 成人免费毛片足控 | 樱花草av | 成人福利在线免费观看 | 亚洲精品一区在线 | 久久蜜桃视频 | 奇米精品一区二区三区在线观看一 | 91av福利 | 日本999视频 | 国产精品三级在线观看无码 | 国产成人福利 | 女人下边被添全过视频 | 蜜桃臀av| 热热热色| 国产伦子伦对白视频 | 男人天堂成人网 | 日本久久一区二区 | 免费成人美女女电影 | 亚洲高清视频在线观看 | 黄色片网站在线播放 | 国产aaa毛片 | 日韩av专区 | 青青草这里只有精品 | 影音先锋成人在线 | 奇米888一区二区三区 | 国产丝袜高跟 | 少女情窦初开的第4集在线观看 | 国产无遮挡免费视频 | hs网站在线观看 | 真性中出 | 大尺度做爰无遮挡露器官 | 国产精品v亚洲精品v日韩精品 | 99re伊人 | 狠狠干美女| 一级欧美一级日韩 | 国产h视频 | 97香蕉 | 国产福利电影在线 | 久久久久亚洲精品中文字幕 | 日韩在线影视 | 97超视频在线观看 | 日韩人妻精品一区二区 | 成人精品视频在线 | 精品国产无码一区二区 | 奇米第四色在线 | 亚洲专区区免费 | 午夜羞羞影院 | 日韩电影网址 | 好吊色视频一区二区三区 | 国产免费无码一区二区 | 亚洲乱码国产乱码精品精大量 | 成年人在线免费观看视频网站 | 91黑丝美女 | 欧美精品免费看 | 黄色一级小视频 | 亚洲国产日韩一区二区 | 天天摸夜夜添 | 成人黄色a级片 | 黄色特级大片 | 日本一区二区视频在线观看 | 免费看裸体网站 | 永久免费看黄 | 中国毛片网 | 在哪里可以看毛片 | 人人爽人人爽人人 |