为何爆零
查看原帖
为何爆零
437243
cly312楼主2023/12/16 17:04

爆0了

有没有大佬可以帮忙看看

#include<bits/stdc++.h>
using namespace std;
int qianzhui[110][110];
int n,m,ans;
bool pf(int i){
	int j=sqrt(i);
	if(j*j==i) return true;
	return false;
}
int qiu(int i1,int j1,int i2,int j2){
	if(i2==1) return qianzhui[1][j2]-qianzhui[1][j1-1];
	if(j2==1) return qianzhui[i2][1]-qianzhui[i1-1][1];
	return qianzhui[i2][j2]-qianzhui[i2][j1-1]-qianzhui[i1-1][j2]+qianzhui[i1-1][j1-1];
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>qianzhui[i][j];
			qianzhui[i][j]+=qianzhui[i-1][j]+qianzhui[i][j-1]-qianzhui[i-1][j-1];
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			for(int len=ans+1;len<=min(n-i+1,m-j+1);len++){
				if(pf(qiu(i,j,i+len-1,j+len-1))) ans=max(ans,len);
			}
		}
	}
	cout<<ans;
	return 0;
}
2023/12/16 17:04
加载中...