ferinの競プロ帳

競プロについてのメモ

Codeforces Round #641 (Div. 1) C. Orac and Game of Life

問題ページ

サンプル1,2のようにすべてのマスについて同じ色が隣接、もしくは異なる色と隣接しているような状況のときは明らか。そうではないケースについて、とりあえず実験してみる。

01   01   00  
10 → 11 → 00  
00   11   00  

同じ色が隣接しているマスが一つ以上存在した場合、同じ色が連結なマスがどんどん増えていくので、明らかなケースに行き着くまでのiteration数は O(H+W) で抑えられる。各マスについて色変化をはじめるiterationがいつなのかを求めたい。

21  
10  
00  

最初から同じ色が隣接している場合は0、そのマスに隣接している場合は1、さらに隣接している場合は2 …となっていることがわかる。0のマスからスタートする多点スタートBFSによって、各マスの色変化を始めるiterationが求められる。