AOJ 0558 Cheese

チーズ | Aizu Online Judge

解法

bfs

Sから1、1から2、というように一区切りごとに時間を出して合計する。

入力した時のチーズ位置保存の為に数字ごとのif文を列挙するのは美しくないのでこのやり方は覚えておきたい。

最近発想系の問題がロクに解けないので知識で機械的に解ける問題くらいはバグを出さずに実装したい

AOJ 2014 Surrounding Area

Surrounding Area | Aizu Online Judge

解法

dfs

領域用の配列を作る。通った位置に印を付け、Bに当たったらflagを1、Wに当たったら2、両方に当たったら3にする。dfsを抜けた時のflagで印を塗り替える。

デバッグ時間すごかったのでもっと実装楽な解法でやるべき。

 

AOJ 1179 Millennium

Millennium | Aizu Online Judge

解法

サンプルに1/1/1があるのでこれを見て引き算すること覚えろってことでしょう。

ここ見ました。

 

もちろん僕はいちいち場合分けしてたんですが、初見で上のコードを実装したチームメイトは一体どうなっているんだろう。恐ろしい。