집 짓기 (라지)

바위, 물, 나무가 20개 미만인 격자에서 잔디나 관목으로 이루어진 가장 큰 직사각형 면적을 구합니다.

쉬움3완전 탐색누적 합행렬면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

땅을 사서 가장 넓은 직사각형 밭을 만들려고 한다. 땅을 측량하다가 장애물이 여러 개 있는 것을 보고 지도를 그렸다. 지도의 각 칸에는 그 칸의 상태를 잔디(G), 바위(R), 물(W), 관목(S), 나무(T) 가운데 하나로 적었다. 잔디는 깎을 수 있고 관목은 파낼 수 있지만, 물과 바위와 나무는 치울 수 없다. 남는 장애물을 피해서 만들 수 있는 가장 넓은 직사각형 밭의 면적을 구하라.

밭은 변이 지도의 격자와 나란한 직사각형이고, 그 안의 모든 칸이 잔디 또는 관목이어야 한다.

입력

첫 줄에 테스트 케이스의 개수 N이 주어진다.

이어서 N개의 테스트 케이스가 주어지고, 각 테스트 케이스는 다음과 같다.

  • 한 줄에 땅의 가로 길이 L과 세로 길이 W가 공백 하나로 구분되어 주어진다.
  • 이어서 W개의 줄에 각각 L개의 문자가 주어진다. 각 문자는 그 칸의 상태이고 G, R, W, S, T 가운데 하나다.

제한

  • 1 ≤ L ≤ 50
  • 1 ≤ W ≤ 50
  • N ≤ 30
  • 한 테스트 케이스의 장애물은 20개보다 적다.

출력

각 테스트 케이스마다 한 줄에 "Case #x: "를 출력하고, 이어서 만들 수 있는 가장 넓은 직사각형의 면적을 출력한다. x는 1부터 시작하는 테스트 케이스 번호다. 잔디도 관목도 없어서 밭을 하나도 만들 수 없으면 0을 출력한다.