这个代码2分
提交记录https:
有没有大佬能帮我优化一下
#include<bits/stdc++.h>
using namespace std;
int n,m,a[2010][2010],b[2010][2010];
bool z;
int bfs(int x,int y){
int ans=0;
for(int i=1;i<=200;i++){
if(a[x][y]==1)return ans;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
b[i][j]=__gcd(a[i][j],__gcd(a[i+1][j],__gcd(a[i-1][j],__gcd(a[i][j+1],a[i][j-1]))));
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
a[i][j]=b[i][j];
}
}
ans++;
}
return -1;
}
int main (){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
int x,y;
cin>>x>>y;
cout<<bfs(x,y);
return 0;
}