问题标题: 酷町堂:5012

0
0
已解决
被禁言 张皓轩
张皓轩
中级光能
中级光能

我是个**了,连搜索都不会了

#include<iostream>
using namespace std;
int n,m,vis[16][16],f[16][16],ans=0x3f3f3f3f;
char a[16][16];
int dir[10][2]={{-1,0},{1,0},{0,-1},{0,1}},sx,sy,ex,ey,flag;
void dfs(int x,int y,int cnt){
    if(x==ex && y==ey){
        flag=1;
        ans=min(ans,cnt);
        return ;
    }
    for(int i=1;i<=4;i++){
        int dx=dir[i][0]+x,dy=dir[i][1]+y;
        if(dx>=1 && dx<=n && dy>=1 && dy<=m && !vis[dx][dy] && !f[dx][dy]){
            vis[dx][dy]=true;
            dfs(dx,dy,cnt+1);
            vis[dx][dy]=false;
        }
    }
    return ;
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
            if(a[i][j]=='S'){
                sx=i;
                sy=j;
            }else if(a[i][j]=='T'){
                ex=i;
                ey=j;
            }else if(a[i][j]=='#'){
                f[i][j]=true;
            }
        }
    }
    vis[sx][sy]=true;
    dfs(sx,sy,0);
    if(flag)cout<<ans;
    else cout<<-1;
    return 0;
}

WA80...

张皓轩在2021-09-24 20:45:47追加了内容

canfei


0
0
0
0
0
张恩泽
张恩泽
高级天翼
高级天翼

小伙纸,你怎么被禁言了

你那个代码也不对呀

0
0
0
孙顾典
孙顾典
初级光能
初级光能

简单

孙顾典在2021-09-24 21:14:03追加了内容

我不会

孙顾典在2021-09-24 21:14:11追加了内容

我不会

我要回答