第四题我这样写的也a了,没用二分 #include<bits/stdc++.h> using namespace std; int dx[4]={-1,0,1,0}; int dy[4]={0,-1,0,1}; int main(){     int n,m,x,y,z,w;     cin>>n>>m;     cin>>x>>y;     cin>>z>>w;     vector<vector<int>> g(n,vector<int>(m));     for(int i=0;i<n;i++)         for(int j=0;j<m;j++)             cin>>g[i][j];     queue<pair<int,int>> q;     q.push(make_pair(x-1,y-1));     vector<vector<int>> f(n,vector<int>(m,INT_MAX));     f[x-1][y-1]=g[x-1][y-1];     while(!q.empty()){         auto [a,b]=q.front();         q.pop();         for(int i=0;i<4;i++){             int nx=a+dx[i],ny=b+dy[i];             if(nx<0||nx>=n||ny<0||ny>=m) continue;             if(max(g[nx][ny],f[a][b])>f[nx][ny]){                 f[nx][ny]=max(g[nx][ny],f[a][b]);                 q.push(make_pair(nx,ny));             }         }     }     cout<<f[z-1][w-1]<<endl;     return 0; }