SRM605 div2 med AlienAndGame
TopCoder Statistics - Match Overview
解説
1 * 1, 2 * 2, ...の正方形が作れるかどうか順に調べた。
左からi右からjのマスが正方形の左上として調べた。
コード
class AlienAndGame { public: int getNumber(vector <string> board) { int H = board.size(); int W = board[0].length(); int ret = 1; FOR(s,1,W+1) { FOR(i,0,H) { FOR(j,0,W) { bool ok = true; FOR(k,0,s) { if(i + k >= H) { ok = false; break; } if(!(board[i+k].substr(j, s) == string(s, 'W') || board[i+k].substr(j, s) == string(s, 'B'))) { ok = false; break; } } if(ok) ret = s; } } } return ret * ret; } };