zoukankan      html  css  js  c++  java
  • 蓝桥杯 暗恋 暴力

    问题描述
      同在一个高中,他却不敢去找她,虽然在别人看来,那是再简单不过的事。暗恋,是他唯一能做的事。他只能在每天课间操的时候,望望她的位置,看看她倾心的动作,就够了。操场上的彩砖啊,你们的位置,就是他们能够站立的地方,他俩的关系就像砖与砖之间一样固定,无法动摇。还记得当初铺砖的工人,将整个操场按正方形铺砖(整个操场可视为R行C列的矩阵,矩阵的每个元素为一块正方形砖块),正方形砖块有两种,一种为蓝色,另一种为红色。我们定义他和她之间的“爱情指标”为最大纯色正方形的面积,请你写一个程序求出“爱情指标”。
    输入格式
      第一行两个正整数R和C。
      接下来R行C列描述整个操场,红色砖块用1来表示,蓝色砖块用0来表示。
    输出格式
      一个数,表示他和她之间的“爱情指标”。
    样例输入
    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
    1 1 1 0 1 1 0 1
    样例输出
    9
    数据规模和约定
      40%的数据R,C<=10;
      70%的数据R,C<=50;
      100%的数据R,C<=200;
    就是求出一个最大的正方形,正方形内全为0或全为1。开始思路错了,以为是bfs,结果直接暴力即可。
    参考自https://blog.csdn.net/xiao_bai_9527/article/details/78905818
     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 const int N = 210;
     4 int mp[N][N];
     5 bool isspace(int x, int y, int a) { //x,y是正方形左上角坐标,a是边长 
     6     int color = mp[x][y]; //读取该点颜色 
     7     for (int i = 0; i < a; i++) {
     8         for (int j = 0; j < a; j++) { 
     9             if (mp[x + i][y + j] != color) { //如果这个正方形里有一个的的颜色不同,false 
    10                 return false;
    11             }
    12         }
    13     }
    14     return true;
    15 }
    16 int main () {
    17     int n, m;
    18     cin >> n >> m;
    19     int ans = 0;
    20     int maxx = min(n, m); //maxx为能达到的最大的正方形边数
    21     for (int i = 0; i < n; i++) {
    22         for (int j = 0; j < m; j++) {
    23             cin >> mp[i][j];
    24         }
    25     } 
    26     for (int i = 0; i < n; i++) {
    27         for (int j = 0; j < m; j++) { //枚举正方形左上角 
    28             for (int a = ans + 1; a <= maxx; a++) {  //枚举边长 
    29             //这里的作用就是如果1*1成立了,就判断2*2是否成立,然后继续判断3x3,如果不成立了break
    30                 if (i + a <= n && j + a <= m) { //如果没越界 
    31                     if (isspace(i, j, a)) {
    32                         ans = a;
    33                     } 
    34                 } else { //如果越界了就说明该点处的正方形边长已经到达极限 
    35                     break;
    36                 }    
    37             }
    38         }
    39     }
    40     cout << ans * ans << endl;
    41     return 0;
    42 }
  • 相关阅读:
    卡特兰数
    hdu 1023 Train Problem II
    hdu 1022 Train Problem
    hdu 1021 Fibonacci Again 找规律
    java大数模板
    gcd
    object dection资源
    Rich feature hierarchies for accurate object detection and semantic segmentation(RCNN)
    softmax sigmoid
    凸优化
  • 原文地址:https://www.cnblogs.com/fx1998/p/12661950.html
Copyright © 2011-2022 走看看