泰裤辣
2023-08-13 10:32:28
发布于:广东
1阅读
0回复
0点赞
#include<iostream>
using namespace std;
int dx[9]={0,-1,-1,-1,0,1,1,1,0}; //广搜、深搜也这样写
int dy[9]={0,-1,0,1,1,1,0,-1,-1};
int a[105][105],s[105][105];
long long add(int x,int y){
int sum=1;
for(int i=0;i<9;i++){
int xx=x+dx[i];
int yy=y+dy[i];
sum*=a[xx][yy];
}
return sum;
}
int main(){
int n,maxx=0;
cin>>n;
//初始化a数组,防止数组越界
for(int i=0;i<=n+1;i++){
for(int j=0;j<=n+1;j++){
a[i][j]=1;
}
}
//输入数组
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
//计算每个九宫格的数字总和
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
s[i][j] = add(i,j);
if(s[i][j]>maxx) maxx=s[i][j];
}
}
//输出
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(s[i][j]==maxx)cout<<i<<" "<<j<<endl;
}
}
return 0;
}
这里空空如也
有帮助,赞一个