Surrounding Area 解説

アルゴリズムの概略

この問題は,2004年度愛媛大会の国内予選のB問題「Red and Black」の発展系の問題です。 発展系とはいっても難易度はほぼ同等の問題で,解法も同様に領域の塗りつぶしでOKで,再帰関数を書くと簡単に解けます。

注意点としては,

  1. 全ての B と W から再帰関数を呼び出す必要があること
  2. BとWの色はそれぞれ別に色付けすること(解答ソースコードではBのときb,Wのときwにしています)
  3. 一度他の色で訪れていても,別の色では訪れて再帰関数を適用しなければならない=2色塗られる場合があること(解答ソースコードではoにしています)

が挙げられます。

その他,基本的なことは「Red and Black」の解説を参照してください。

アルゴリズムの計算量

一度処理したマス目は同じ色ではもう二度と処理しないので, フィールドのサイズ n = w×h×(色数) 回再帰関数を適用すると解け,計算量は O(n) になります。

$Id: index.shtml 1576 2007-06-25 15:10:28Z SYSTEM $