Gilgamesh


私信TA

用户名:18956307138

访问量:978

签 名:

等  级
排  名 185
经  验 6623
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校 海南大学
专  业

  自我简介:

TA的其他文章

#include <iostream>

using namespace std;

bool check(int **a, int y, int x, int len)

{

        for(int i=0,c=a[y++][x++];i<=len;i++)

        if(a[y-i][x]!=c||a[y][x-i]!=c) return false;

        return true;

}

int subSqure(int **a, int h, int w, int y, int x)

{

        int len=1;

        for(;y<h-1&&x<w-1;y++,x++,len++)

                if(!check(a, y, x, len)) break;

        return len;

}

int maxSquare(int **a, int h, int w)

{

        int mx=1;

        for(int y=0;y<h-mx;y++)

        for(int x=0;x<w-mx;x++)

                mx=max(mx, subSqure(a, h, w, y, x));

        return mx*mx;

}

main()

{

        int h,w;cin>>h>>w;

        int **a=new int*[h];

        for(int i=0;i<h;i++) 

        {

                a[i]=new int[w];

                for(int j=0;j<w;j++) cin>>a[i][j];

        }

        cout<<maxSquare(a, h, w);

}


 

0.0分

2 人评分

  评论区