写的一个暴力
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 2e3;
int n, m, x, y, cnt = 0;
ll a[N+10][N+10], b[N+10][N+10];
ll gcd(ll num1, ll num2) {return (num2==0?num1:gcd(num2,num1%num2));}
const int dx[4] = {+1,-1, 0, 0};
const int dy[4] = {0, 0, +1,-1};
int main() {
cin >> n >> m;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
cin >> a[i][j];
cin >> x >> y;
while(a[x][y] != 1) {
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++) {
b[i][j] = a[i][j];
for(int k = 0; k < 4; k++) {
b[i][j] = gcd(b[i][j], a[i+dx[k]][j+dy[k]]);
}
}
memcpy(a, b, sizeof(b));
cnt++;
if(cnt > 50) {
cnt = -1;
break;
}
}
cout << cnt;
return 0;
}
有人能告诉我怎么搜吗?