SPOJ からの次の質問を解決しようとしています。
n m 個のフィールドを含む長方形のメッシュ上に、n m 個の立方体が配置され、各フィールドに 1 つの立方体が配置されました。各立方体の底辺は 1 つのフィールドをカバーし、その表面は 1 平方インチに相当します。隣接するフィールドの直方体は互いに密着しているため、それらの間に隙間がありません。大雨が建物に降り注ぎ、一部の地域では水たまりができました。
仕事
次のようなプログラムを作成します。
- 標準入力からチェス盤のサイズとフィールドに配置された直方体の高さを読み取ります
- 雨の後に水たまりに集まる可能性のある最大水量を計算します
- 結果を標準出力に書き込みます。
入力
テスト ケースの数 t は入力の最初の行にあり、その後に t 個のテスト ケースが空行で区切られて続きます。各テスト ケースの最初の行には、2 つの正の整数 1 <= n <= 100、1 <= m <= 100 が書き込まれます。それらはメッシュのサイズです。次の n 行のそれぞれに、間隔 [1..10000] の m 個の整数があります。j 行目の i 番目の数値は、チェス盤の i 列目 j 列目のフィールドに配置されたインチで与えられる直方体の高さを示します。
出力
あなたのプログラムは、構造上の水たまりに集まる可能性のある水の最大体積 (立方インチで与えられる) に等しい 1 つの整数をテスケースごとに書き込む必要があります。
Example Sample input: 1 3 6 3 3 4 4 4 2 3 1 3 2 1 4 7 3 1 6 4 1 Sample output: 5
BFS を使用して、境界要素から水たまりに流れる水の量を追加しています (パスが見つかった場合)。しかし、水たまりが 2 つの連続した直方体のような場合は処理できません。誰かがそのケースで私を助けることができますか?