栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 2180 City Game

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 2180 City Game

#include <stdio.h>#include <stdlib.h>#include <string.h>char Maps[ 1003 ][ 1003 ];int  MaxH[ 1003 ][ 1003 ];int  L[ 1003 ],R[ 1003 ];int  MUQ[ 1003 ];int main(){    int t,m,n;    while ( scanf("%d",&t) != EOF )    while ( t -- ) {        scanf("%d%d",&m,&n);getchar();        for ( int i = 1 ; i <= m ; ++ i )        for ( int j = 1 ; j <= n ; ++ j ) { scanf("%c",&Maps[ i ][ j ]); getchar();        }        memset( MaxH, 0, sizeof( MaxH ) );        for ( int i = 1 ; i <= m ; ++ i )        for ( int j = 1 ; j <= n ; ++ j ) if ( Maps[ i ][ j ] == 'F' )     MaxH[ i ][ j ] = MaxH[ i-1 ][ j ]+1; else      MaxH[ i ][ j ] = 0;        for ( int i = 1 ; i <= m ; ++ i ) MaxH[ i ][ 0 ] = MaxH[ i ][ n+1 ] = -1;        int MaxV = 0;        for ( int i = 1 ; i <= m ; ++ i ) { int tail = 0; MUQ[ 0 ] = 0; for ( int j = 1 ; j <= n+1 ; ++ j ) {     while ( tail >= 0 && MaxH[ i ][ MUQ[ tail ] ] > MaxH[ i ][ j ] )  R[ MUQ[ tail -- ] ] = j;     MUQ[ ++ tail ] = j;     }     tail = 0; MUQ[ 0 ] = n+1; for ( int j = n ; j >= 0 ; -- j ) {     while ( tail >= 0 && MaxH[ i ][ MUQ[ tail ] ] > MaxH[ i ][ j ] )         L[ MUQ[ tail -- ] ] = j;     MUQ[ ++ tail ] = j;     } for ( int j = 1 ; j <= n ; ++ j ) {     int Temp = MaxH[ i ][ j ]*(R[ j ]-L[ j ]-1);     if ( MaxV < Temp )         MaxV = Temp;  }        }        printf("%dn",MaxV*3);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/380029.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号