题解
2023-07-27 11:06:41
发布于:江苏
107阅读
0回复
0点赞
#include<iostream>
#include<algorithm>
using namespace std;
const int N=110;
struct Node{
int x,y,w;
};
bool cmp(Node a,Node b){
return a.w>b.w||(a.w==b.w&&a.x<b.x)||(a.w==b.w&&a.x==b.x&&a.y<b.y);
}
int dx[]={-1,-1,-1,0,0,0,1,1,1};
int dy[]={-1,0,1,-1,0,1,-1,0,1};
int n;
int mp[N][N];
Node line[N*N];
int li=0;
int ret_weight(int x,int y){
int ans=1;
for(int i=0;i<9;i++){
int tx=x+dx[i],ty=y+dy[i];
if(tx>=1&&tx<=n&&ty>=1&&ty<=n){
ans*=mp[tx][ty];
}
}
return ans;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>mp[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
line[++li]=Node{i,j,ret_weight(i,j)};
}
}
sort(line+1,line+1+li,cmp);
cout<<line[1].x<<" "<<line[1].y<<endl;
for(int i=2;i<=li;i++){
if(line[i].w==line[1].w){
cout<<line[i].x<<" "<<line[i].y<<endl;
}
}
return 0;
}
这里空空如也
有帮助,赞一个