#include #include #include #include using namespace std; constexpr double EPS = 1e-9; int n, m, si, sj, ei, ej; vector> mat; double a; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin>>m>>n>>sj>>si>>ej>>ei; m /= 2, n /= 2, si /= 2, sj /= 2, ei /= 2, ej /= 2; mat.resize(n); for (int i = 0; i < n; ++i) { mat[i].resize(m); for (int j = 0; j < m; ++j) { cin>>mat[i][j]; } } if (abs(ej - sj) > abs(ei - si)) { vector> tmat; tmat.resize(m); for (int i = 0; i < m; ++i) { tmat[i].resize(n); for (int j = 0; j < n; ++j) { tmat[i][j] = mat[j][i]; } } swap(n, m); swap(tmat, mat); swap(si, sj); swap(ei, ej); } if (ei < si) { swap(ei, si); swap(ej, sj); } // cout< 0 && j2 < j1 + 0.5 - EPS) || (a < 0 && j2 > j1 - 0.5 + EPS)) { sum += abs(mat[i + 1][j3] - mat[i + 1][j1]) + abs(mat[i + 1][j1] - mat[i][j1]); } else if ((a > 0 && j2 > j1 + 0.5 + EPS) || (a < 0 && j2 < j1 - 0.5 - EPS)) { sum += abs(mat[i + 1][j3] - mat[i][j3]) + abs(mat[i][j3] - mat[i][j1]); } else { sum += min(abs(mat[i + 1][j3] - mat[i + 1][j1]) + abs(mat[i + 1][j1] - mat[i][j1]), abs(mat[i + 1][j3] - mat[i][j3]) + abs(mat[i][j3] - mat[i][j1])); } // cout<