zoukankan      html  css  js  c++  java
  • 9、涂棋盘--2017网易春招

    [编程题] 涂棋盘
    时间限制:1秒
    空间限制:32768K
    小易有一块n*n的棋盘,棋盘的每一个格子都为黑色或者白色,小易现在要用他喜欢的红色去涂画棋盘。小易会找出棋盘中某一列中拥有相同颜色的最大的区域去涂画,帮助小易算算他会涂画多少个棋格。 
    输入描述:
    输入数据包括n+1行:
    第一行为一个整数n(1 ≤ n ≤ 50),即棋盘的大小
    接下来的n行每行一个字符串表示第i行棋盘的颜色,'W'表示白色,'B'表示黑色

    输出描述:
    输出小易会涂画的区域大小
     
    输入例子:
    3 BWW BBB BWB
     
    输出例子:
    3
    解题思路:本题求每一列连续相同字符的子串最长值,然后再求出所有列中最长的,即为结果
    本题主要遇到以下几个问题
    1)求得没考虑连续,只是求了W个数B个数,求最大值了
    2)求连续的,给每一列记录的m[j]赋值时用的count,其实应该是m[j]和count的最大的
    3)每次处理后count置为初始1
    4)memset初始化,最后一个参数为sizof(类型)*数组个数
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <memory.h>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     int n;
     9     while(cin>>n)
    10     {
    11         char a[n][n];
    12         for(int i=0;i<n;i++)
    13         {
    14             for(int j=0;j<n;j++)
    15             {
    16                 cin>>a[i][j];
    17             }
    18         }
    19 
    20         int m[n];
    21         memset(m,0,sizeof(int)*n);
    22         int count = 1;
    23         for(int j=0;j<n;j++)
    24         {
    25             for(int i=0;i<n-1;i++)
    26             {
    27                 if(a[i+1][j] == a[i][j])
    28                 {
    29                     count++;
    30                     if(i==n-2)
    31                     {
    32                         m[j] = max(m[j],count);
    33                     }
    34                 }
    35                 else
    36                 {
    37                     m[j] = max(m[j],count);
    38                     count = 1;
    39                 }
    40             }
    41             count = 1;
    42         }
    43         count = m[0];
    44         for(int i=1;i<n;i++)
    45         {
    46             if(m[i]>count)
    47                 count = m[i];
    48         }
    49         cout<<count<<endl;
    50     }
    51 }
  • 相关阅读:
    BigPipe_高性能流水线页面技术
    高并发大流量网站 10 个解决方法
    崇高不是比惨
    utf-8无bom格式编码
    go.php
    微信+QQ跳转
    java 设计模式-单例
    HTML连载88-今天把努比亚界面仿真写完了(完结连载)
    Android连载10-动态添加页面、创建一个新闻app
    JavaScript连载9-三目运算符、综合复习
  • 原文地址:https://www.cnblogs.com/qqky/p/6928533.html
Copyright © 2011-2022 走看看