For details, see training guide P50 [cpp] # include <iostream> # include <algorithm> using namespace std; int up [1005] [1005], lef [1005] [1005], righ [1005] [1005]; char a [1005] [1005]; int main () {www.2cto.com int t, m, n, ans, lo, ro, I, j; char s; cin> t; while (t --) {cin> m> n; for (I = 0; I <m; I ++) for (j = 0; j <n; j ++) cin> a [I] [j]; ans = 0; for (I = 0; I <m; I ++) {lo =-1; ro = n; for (j = 0; j <n; j ++) {if (a [I] [j] = 'R') {lef [I] [j] = up [I] [j] = 0; lo = j ;} else {Up [I] [j] = (I = 0 )? 1: up [I-1] [j] + 1; lef [I] [j] = (I = 0 )? Lo + 1: max (lef [I-1] [j], lo + 1) ;}for (j = n-1; j> = 0; j --) {if (a [I] [j] = 'R') {righ [I] [j] = n; ro = j ;} else righ [I] [j] = (I = 0 )? Ro-1: min (righ [I-1] [j], ro-1); ans = max (ans, up [I] [j] * (righ [I] [j]-lef [I] [j] + 1 ));}} cout <ans * 3 <endl;} return 0 ;}