6 条题解

  • 1
    @ 2026-3-11 20:08:50

    猎奇不猎奇?!

    #include <bits/stdc++.h>
    using namespace std;
    int x,y,mx,my,dx[8]={1,1,1,0,0,-1,-1,-1},dy[8]={-1,0,1,-1,1,-1,0,1},ans=0;
    int main(){
        cin>>x>>y>>mx>>my;
        vector<string>g(y);
        for(int i=y-1;i>=0;--i) cin>>g[i];
        queue<tuple<int,int,int>>q;
        q.push({my-1,mx-1,0});
        g[my-1][mx-1]='M';
        while(!q.empty()){
            auto [i,j,d]=q.front(); q.pop();
            ans=d;
            for(int k=0;k<8;++k){
                int ni=i+dx[k], nj=j+dy[k];
                if(ni>=0&&ni<y&&nj>=0&&nj<x&&g[ni][nj]=='.'){
                    g[ni][nj]='M';
                    q.push({ni,nj,d+1});
                }
            }
        }
        cout<<ans;
        return 0;
    }
    

    直接拿下最短记录!!!

    抄的是GAY?!

    信息

    ID
    100
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    799
    已通过
    181
    上传者