hdu2416 很好的搜尋

2021-08-26 19:54:40 字數 908 閱讀 3947

乙個很不錯的搜尋,剛看到題的時候一直沒明白題意。兩天後,也就是昨天下午終於理解了題意,英語不好 好慚愧

題意:給出乙個圖,門都在邊界上。只能從乙個門進去。選擇耗費的最小時間。

『*』是不能走通的牆

'.'是走廊,不耗費任意時間

'1'-'9'是需耗時1-9才能翻過的牆,如果使用乙個炸毀,則不耗費任意時間

'#'、'a'-'z'是門,可以帶1-26個。#是0個的門。

分析:由題意,需要數作為狀態的乙個屬性【數目不同是不同的走法】。

則圖可以分為兩個搜法:

1》到達」.「的時候不需要耗費時間、。

2》到達「1」,有兩個走法,直接走過去耗時1t,使用,耗時0t,耗費1顆。

這個**除錯了很長時間【恍惚有一下午那麼久】,最後的最後才發現row值沒有每組資料都初始化、、、、、

**:#include #include#include#includeusing namespace std;

char map[101][101];

int state[101][101][27];//狀態陣列

int dis[4][2]=;

int row,col;int ss;

struct info

;queueq;

bool operator<(info a,info b)

void bfs()

} }//搜尋

while(!q.empty())

}else if(map[f.x][f.y]>'0'&&map[f.x][f.y]<='9')

if(state[f.x][f.y][e.k]==-1||state[f.x][f.y][e.k]>e.time+map[f.x][f.y]-'0')//不炸

}else if(map[f.x][f.y]=='$'&&e.time

hdu5616(理解01揹包很好的題目)

這題一看到不就是01揹包嗎?直覺想到對不對!有木有!然而,01揹包我們都是正的掃一遍,這裡需要反的再掃一遍,而且揹包裡面不一定非要儲存背的物體的重量,還可以是記錄這個揹包有沒有用過哈 首先要正的掃一遍,就是物品那端不放砝碼,只在另一端放砝碼,看有多少重量可以放到 這裡記錄的是該重量能否被訪問到,所以...

hdu 1180 詭異的樓梯 搜尋

description hogwarts正式開學以後,harry發現在hogwarts裡,某些樓梯並不是靜止不動的,相反,他們每隔一分鐘就變動一次方向.比如下面的例子裡,一開始樓梯在豎直方向,一分鐘以後它移動到了水平方向,再過一分鐘它又回到了豎直方向.harry發現對他來說很難找到能使得他最快到達目...

50道hdu基礎的搜尋題目

dfs 大部分是直接遞迴列舉,即求滿足約束條件下的解,雖不用剪枝,但也需要 能力。練習遞迴列舉的題目 1241 oil deposits dfs的連通塊個數 1016 prime ring problem 1584 蜘蛛牌 簡單dfs 1426 sudoku killer 數獨 2510 符號三角形...