カメヲラボ

主にプログラミングとお勉強全般について書いてます

CodeIQ過去問集11:わんにゃんキャッスル

本稿はCodeIQで2015年1月22日~2015年2月16日に出題された「わんにゃんキャッスル」という問題を再編集したものです。 ※出題時と記述が一部異なる場合がありますがご了承ください。

わんにゃんキャッスル

【問題】

わんにゃん勢力MAPがあります。

彼らは自分たちの権威を誇示するために、できるだけ大きな城を建てようと考えました。 城は、MAPの自勢力上で、正方形の区画になっている部分に建てることができます。

このように、にゃんこ群は3×3の城を建てることができます。わんこ群は、複数の候補地がありますが、最大2×2の大きさまでしか城を建てることができません。この場合、にゃんこ群の方が大きな城を建てることができ、優勢となります。

【問題の詳細】

わんにゃん勢力MAPが、標準入力から文字列データとして与えられます。 わんこ群…「W」 にゃんこ群…「N」 と表記されていますので、このデータを解析し、それぞれの群が建てることのできる、最大の城サイズを答えてください。 MAPサイズは最大1000×1000とします。

入力例

WNWNWWNW
NWNWNWWW
NWWNNWWN
WWWNWNNW
WNNNWNNW
WNNNNWNW
NNNNNWWW
WWWNWWWN

出力例

W: 2
N: 3

※出力順序は、わんこ群「W」を1行目、にゃんこ群「N」を2行目にしてください。

【テストデータ】

テストデータは↓からダウンロードできます。

https://bitbucket.org/ozy4dm/wan-nyan-castles/downloads/

【解説】