zoukankan      html  css  js  c++  java
  • 洛谷1387最大正方形

    题目描述

    在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长。

    输入输出格式

    输入格式:

     

    输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m个数字,用空格隔开,0或1.

     

    输出格式:

     

    一个整数,最大正方形的边长

     

    输入输出样例

    输入样例#1: 复制
    4 4
    0 1 1 1
    1 1 1 0
    0 1 1 0
    1 1 0 1
    
    输出样例#1: 复制
    2

    *****这是一个DP题,转移方程见代码
     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<cmath>
     5 using namespace std;
     6 int i,j,n,m,f[105][105] = {0},a[105][105],ans = 0;
     7 int main()
     8 {
     9     scanf("%d %d",&n,&m);
    10     for(i = 1;i <= n;i++)
    11     {
    12         for(j = 1;j <= m;j++)
    13         {
    14             scanf("%d",&a[i][j]);
    15             if(a[i][j] == 1)
    16             {
    17                 f[i][j] = min(f[i - 1][j],min(f[i][j - 1],f[i - 1][j - 1])) + 1;
    18             }
    19             ans = max(ans,f[i][j]);
    20         }
    21     }
    22     printf("%d",ans);
    23     return 0;
    24 }




  • 相关阅读:
    错误机制
    IO文件
    lua与c的交互(运用)
    lua与c的交互(函数专用)
    string库
    元表

    模块与包
    zsh终端下,配置环境变量使用~/.zshrc
    MX150+python3.7+CUDA10.0+Tensorflow-gpu1.13安装记录
  • 原文地址:https://www.cnblogs.com/rax-/p/9933478.html
Copyright © 2011-2022 走看看