bfs這裡不用說,搜尋去求乙個最優情況的,往往使用bfs
下面分析一下優先佇列的作用:
由於我們是要尋找到達的最小時間,這裡面是有乙個權值的不同的,所以我們不能簡單的認為先出佇列發就是我們權值最小的(佇列中往往是這樣,先出佇列的是我們先到的),但是這一次不是這樣,所以要對於權值進行排序。
**(vj):
#include #include #include #include #include using namespace std;
const int maxn = 510;
struct point
}st,ed;
char map[maxn][maxn];
int vis[maxn][maxn];
int dx[4]=;
int dy[4]=;
int n, m, k;
void bfs()
for (int i=0;i<4;i++)
else if (map[nx][ny] == '@')
q.push(tmp);
} }
} }
int main()
} }
bfs();
} return 0;
}
2016春季訓練 貪心
這一題理解題意是乙個問題,也就說,我們先知道了全年的情況,下面我們只要連續五個月計算盈虧,那麼賺了,則一定是s,虧了就一定是d,所以理論上,我們可以計算出前五個月的情況的。include include using namespace std int main long long s,d while...
2016寒假訓練 搜尋
一開始做這個題目還是覺的挺煩的,主要是要加個四個變數,然後比較,比較起來還比較麻煩。繞口令,呵呵 首先,不需要找到的次序,而且m 20,所以不會有爆棧的風險。然後就是怎麼去解決的問題,因為所有的木頭都是整數,所以我們考慮這個問題,所以我們可以預見的是,一旦總和 4不為0的話,則一定是不可能。下面就是...
訓練一 深度優先搜尋
例1.poj 1979 red and black 題意 由 為起點,周圍最多有 跟它相連通,不能越過 本身也算乙個 輸入輸出 sample input 6 9.11 9 11 6 7 7.0 0sample output 4559613 include using namespace std ch...