长沙网站建设 个人,北京h5网站建设报价,公司网站开发,网站开发建设合同书2491 玉蟾宫 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 大师 Master 题目描述 Description有一天#xff0c;小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫#xff0c;玉蟾宫宫主蓝兔盛情地款待了它们#xff0c;并赐予它们一片土地。 这片土地被分成N*M个格子小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫玉蟾宫宫主蓝兔盛情地款待了它们并赐予它们一片土地。 这片土地被分成N*M个格子每个格子里写着R或者FR代表这块土地被赐予了rainbowF代表这块土地被赐予了freda。 现在freda要在这里卖萌。。。它要找一块矩形土地要求这片土地都标着F并且面积最大。 但是rainbow和freda的OI水平都弱爆了找不出这块土地而蓝兔也想看freda卖萌她显然是不会编程的……所以它们决定如果你找到的土地面积为S它们每人给你S两银子。 输入描述 Input Description 第一行两个整数N,M表示矩形土地有N行M列。 接下来N行每行M个用空格隔开的字符F或R描述了矩形土地。 输出描述 Output Description 输出一个整数表示你能得到多少银子即(3*最大F矩形土地面积)的值。 样例输入 Sample Input 5 6R F F F F FF F F F F FR R R F F FF F F F F FF F F F F F 样例输出 Sample Output 45 数据范围及提示 Data Size Hint 对于50%的数据1N,M200 对于100%的数据1N,M1000 来源Nescafe 20 1 #includecmath2 #includecstdio3 #includeiostream4 using namespace std;5 int a[10000][10000];6 int leftt[10000],rightt[10000],h[10000]; 7 int ans;8 int main()9 {
10 int n,m;
11 cinnm;
12 for(int i1;in;i)
13 {
14 for(int j1;jm;j)
15 {
16 char s;
17 cins;
18 if(sR)
19 {
20 a[i][j]1;
21 }
22 else a[i][j]0;
23 }
24 }
25 for(int i1;im;i)
26 {
27 leftt[i]1;
28 rightt[i]m;
29 }
30
31 for(int i1;in;i)
32 {
33 int l0;
34 int rm1;
35 for(int j1;jm;j)
36 {
37 if(a[i][j]1)
38 {
39 h[j]0;
40 lj;
41 leftt[j]1;
42 }
43 else {
44 h[j];
45 leftt[j]max(leftt[j],l1);
46 }
47 }
48 for(int jm;j1;j--)
49 {
50 if(a[i][j]1)
51 {
52 rj;
53 rightt[j]m;
54 }
55 else
56 {
57 rightt[j]min(rightt[j],r-1);
58 }
59 ansmax(ans,(rightt[j]-leftt[j]1)*h[j]);
60
61 }
62 }
63 coutans*3;
64 } 转载于:https://www.cnblogs.com/lyqlyq/p/6739871.html