蓝桥杯 ALGO-112 算法训练 暗恋

栏目: 编程工具 · 发布时间: 5年前

内容简介:问题描述同在一个高中,他却不敢去找她,虽然在别人看来,那是再简单不过的事。暗恋,是他唯一能做的事。他只能在每天课间操的时候,望望她的位置,看看她倾心的动作,就够了。操场上的彩砖啊,你们的位置,就是他们能够站立的地方,他俩的关系就像砖与砖之间一样固定,无法动摇。还记得当初铺砖的工人,将整个操场按正方形铺砖(整个操场可视为R行C列的矩阵,矩阵的每个元素为一块正方形砖块),正方形砖块有两种,一种为蓝色,另一种为红色。我们定义他和她之间的“爱情指标”为最大纯色正方形的面积,请你写一个程序求出“爱情指标”。输入格式

问题描述

同在一个高中,他却不敢去找她,虽然在别人看来,那是再简单不过的事。暗恋,是他唯一能做的事。他只能在每天课间操的时候,望望她的位置,看看她倾心的动作,就够了。操场上的彩砖啊,你们的位置,就是他们能够站立的地方,他俩的关系就像砖与砖之间一样固定,无法动摇。还记得当初铺砖的工人,将整个操场按正方形铺砖(整个操场可视为R行C列的矩阵,矩阵的每个元素为一块正方形砖块),正方形砖块有两种,一种为蓝色,另一种为红色。我们定义他和她之间的“爱情指标”为最大纯色正方形的面积,请你写一个程序求出“爱情指标”。

输入格式

第一行两个正整数R和C。

输出格式

一个数,表示他和她之间的“爱情指标”。

样例输入

5 8

0 0 0 1 1 1 0 1

1 1 0 1 1 1 1 1

0 1 1 1 1 1 0 1

1 0 1 1 1 1 1 0

样例输出

9

数据规模和约定

40%的数据R,C<=10;

70%的数据R,C<=50;

分析:枚举所有方块的最左上角的点,依次向右下角探测,得到能探测到的最大面积,取最大值即可~

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int m[210][210], ans = 0, r, c;
int  check(int a, int b){
    for(int k = 1;; k++){
        for(int i = a; i <= a + k; i++)
            if(m[i][b+k] != m[a][b]) return k * k;
        for(int i = b; i <= b + k; i++)
            if(m[a+k][i] != m[a][b]) return k * k;
    }
}
int main() {
    fill(m[0],m[0]+210*210,-1);
    scanf("%d%d", &r, &c);
    for(int i = 1; i <= r ; i++)
        for(int j = 1; j <= c; j++)
            scanf("%d",&m[i][j]);
    for(int i = 1; i <= r ; i++)
        for(int j = 1; j <= c; j++)
            ans = max(ans,check(i,j));
    cout << ans << endl;
    return 0;
}
❤❤点击这里 -> 订阅PAT、蓝桥杯、GPLT天梯赛、LeetCode题解离线版❤❤ 蓝桥杯 ALGO-112 算法训练 暗恋

以上所述就是小编给大家介绍的《蓝桥杯 ALGO-112 算法训练 暗恋》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Visual C#从入门到精通(第8版)

Visual C#从入门到精通(第8版)

夏普 (John Sharp) / 周靖 / 清华大学出版社 / 2016-6-1

《Visual C#从入门到精通(第8版)》共27章,结构清晰,叙述清楚。所有练习均在Visual Studio 2015简体中文版上进行过全面演练。无论是刚开始接触面向对象编程的新手,还是打算迁移到C#的C、C++或Java程序员,都可以从《Visual C#从入门到精通(第8版)》汲取到新的知识。迅速掌握C#编程技术。一起来看看 《Visual C#从入门到精通(第8版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器