最優程式問題(BFS)

2022-08-20 15:00:21 字數 754 閱讀 9405

輸入兩個整數n1, n2. 用 最少的四則運算從n1得到n2.  例如: 輸入2,5, 則 2 / 2 = 1, 1 + 2 = 3, 3 + 2 = 5.  運算結果為 div, add, add.

(好吧我偷懶把題目簡化了。。)

因為運算步驟可能無限長,本題的解答樹是無限大的, 此題不能用回溯來解。本題要求最短過程,利用寬度優先遍歷解答樹。

int n1, n2;

char operators[4][4] = ;

int sequence[100

];void

bfs()

else val[rear++] = value +n1;

if ( (value - n1) ==n2 )

else val[rear++] = value -n1;

if ( (value / n1) ==n2 )

else val[rear++] = value /n1;

if ( (value * n1) ==n2 )

else val[rear++] = value *n1;

frount ++;

}frount--;

sequence[

0] = (--rear)%4

;

int m = 1

;

while ( frount > 0

)

while ( m > 0

) }

最優乘車 bfs

description h城是乙個旅遊勝地,每年都有成千上萬的人前來觀光。為方便遊客,巴士公司在各個旅遊景點及賓館,飯店等地都設定了巴士站並開通了一些單程巴上線路。每條單程巴士線路從某個巴士站出發,依次途經若干個巴士站,最終到達終點巴士站。一名旅客最近到h城旅遊,他很想去s公園遊玩,但如果從他所在的...

CCF 最優配餐(BFS)

最優配餐 問題描述 棟棟最近開了一家餐飲連鎖店,提供外賣服務。隨著連鎖店越來越多,怎麼合理的給客戶送餐成為了乙個急需解決的問題。棟棟的連鎖店所在的區域可以看成是乙個n n的方格圖 如下圖所示 方格的格點上的位置上可能包含棟棟的分店 綠色標註 或者客戶 藍色標註 有一些格點是不能經過的 紅色標註 方格...

CCF 最優配餐 暴力BFS

0 0 一直沒敢下手做,而且還想了好久。因為覺得資料有點大。而且還被狀壓帶跑偏了。一直想著用dp或者網路流做。直到我搜到了大神的題解。include include include include include using namespace std define maxn 1100 define...