NOJ 1541 加1乘2平方

2021-07-24 09:04:13 字數 677 閱讀 9302

2016.11.3

【題目描述】

1541.加1乘2平方

時限:1000ms 記憶體限制:10000k 總時限:3000ms

描述 給定兩個正整數m、n,問只能做加1、乘2和平方這三種變化,從m變化到n最少需要幾次

輸入 輸入兩個10000以內的正整數m和n,且m小於n

輸出 輸出從m變化到n的最少次數

輸入樣例

1 16

輸出樣例

3【解題思路】

bfs,從當前節點擴充套件狀態加入佇列中,直到出現目標狀態

【**實現】

# include 

# include

using

namespace

std;

int m, n, num;

int used[100005];

queue

q;void init(void);

int bfs(void);

int moveto(int ,int );

int main(void)

int bfs(void)}}

}void init()

int moveto(int a, int b)

【心得體會】

學會stl中佇列的使用

分支界限篇 加1乘2平方NOJ1541

時限 1000ms 記憶體限制 10000k 總時限 3000ms 給定兩個正整數m n,問只能做加1 乘2和平方這三種變化,從m變化到n最少需要幾次 輸入兩個10000以內的正整數m和n,且m小於n 輸出從m變化到n的最少次數 對每個位置從1開始進行試探,並且保證當前所試的數字 1 與之前填過的數...

NOJ 1541) 分支限界 加1乘2平方

問題描述 最簡單的佇列的使用 include include using namespace std queue q1 int main 給定兩個正整數m n,問只能做加1 乘2和平方這三種變化,從m變化到n最少需要幾次 輸入輸入兩個10000以內的正整數m和n,且m小於n 輸出輸出從m變化到n的最...

加1乘2平方

時限 1000ms 記憶體限制 10000k 總時限 3000ms 描述最簡單的佇列的使用 include include using namespace std queueq1 int main 給定兩個正整數m n,問只能做加1 乘2和平方這三種變化,從m變化到n最少需要幾次 輸入輸入兩個100...