ふくほのひとりごと。

高専生が勉強したことの自分用メモ。

AtCoder / 幅優先探索

ふくほです。
ABC007-D 幅優先探索
を解きました。
問題↓
atcoder.jp

考えたこと

BFSは習得に苦労した
アルゴリズムの一つでした。
queueが活躍しまくるやつ。

昔のコードではqueueをxとyに
分けていましたが、
今回はひとつのqueueに
座標の情報と最小コストの値を
詰め込みました。
queue,ll>>que;
.first.first → 縦の座標
.first.second → 横の座標
.second → そのマスまでの最小移動回数
としました。
また、一度訪れたところを
もう一度探索されると
無限ループに陥るので
bool配列visitedで何とかしました。
(ansの値が0である場合ない場合で
場合分けしてもよかったかもしれない)

あと、配列は0始まりなのでsy~gxは
入力したらとりあえず1ずつ引きました。
初心者の時わからず
これでバグらせまくりました()

提出コード

atcoder.jp

感想

BFSは基礎なので
しっかり固めていきたいです。
もう空で書けるようになったっ