zoukankan      html  css  js  c++  java
  • LA3029

    题解:

    一个类似尺取法的算法

    代码:

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    const int N=1005;
    int T,n,m,up[N][N],left[N][N],right[N][N];
    char s[N][N];
    int main()
    {
        scanf("%d",&T);
        while (T--)
         {
             scanf("%d%d",&m,&n);
             for (int i=0;i<m;i++)
              for (int j=0;j<n;j++)
               for (s[i][j]=getchar();s[i][j]!='F'&&s[i][j]!='R';s[i][j]=getchar());
             int ans=0;
             for (int i=0;i<m;i++)
              { 
                 int l=-1,r=n;
                  for (int j=0;j<n;j++)
                   {
                       if (s[i][j]=='R')
                        {
                            up[i][j]=left[i][j]=0;
                            l=j;
                        }
                       else
                     {
                         up[i][j]=i==0?1:up[i-1][j]+1;
                         left[i][j]=i==0?l+1:max(left[i-1][j],l+1);
                     } 
                   }
                for (int j=n-1;j>=0;j--)
                 if (s[i][j]=='R')
                  {
                    right[i][j]=n;
                    r=j;
                  } 
                 else
                  {
                    right[i][j]=i==0?r-1:min(right[i-1][j],r-1);
                    ans=max(ans,up[i][j]*(right[i][j]-left[i][j]+1));
                  }                     
              }
          printf("%d
    ",ans*3);     
         }
    }
  • 相关阅读:
    Codeforces 841 D
    Codeforces 838 B
    Codeforces 833 C
    Codeforces 101572 D
    Codeforces 101173 C
    Codeforces 444 C
    POJ 3076 Sudoku
    Codeforces 1025 D
    算法笔记--基环树
    Codeforces 1016 E
  • 原文地址:https://www.cnblogs.com/xuanyiming/p/8207128.html
Copyright © 2011-2022 走看看