记录详情

Accepted


  
# 状态 耗时 内存占用
#1 Accepted 1ms 208.0 KiB
#2 Accepted 1ms 228.0 KiB
#3 Accepted 1ms 220.0 KiB
#4 Accepted 1ms 232.0 KiB
#5 Accepted 1ms 204.0 KiB

代码

#include <stdio.h>
 #include <math.h>
 #include <string.h>
 #include <iostream>
 #include <algorithm>
 #include <stdlib.h>
 #include <vector>
 #include <queue>
  
 using namespace std;
int mi[12][12],vis[12][12];
bool flag=false;
void dfs(int a,int b){
    //cout<<a<<" "<<b<<endl;
    if(a==10&&b==10){
        cout<<"Yes"<<endl;
        flag=true;
        return ;
    }
    
    if(a+1<=10&&vis[a+1][b]==0&&!mi[a+1][b]){
        vis[a+1][b]=1;
        dfs(a+1,b);
        if(flag) return ;
        vis[a+1][b]=0;
    }
    if(b+1<=10&&vis[a][b+1]==0&&!mi[a][b+1]){
        vis[a][b+1]=1;
        dfs(a,b+1);
        if(flag) return ;
        vis[a][b+1]=0;
    }
    if(b-1>=1&&vis[a][b-1]==0&&!mi[a][b-1]){
        vis[a][b-1]=1;
        dfs(a,b-1);
        if(flag) return ;
        vis[a][b-1]=0;
    }
    if(a-1>=1&&vis[a-1][b]==0&&!mi[a-1][b]){
        vis[a-1][b]=1;
        dfs(a-1,b);
        if(flag) return ;
        vis[a-1][b]=0;
    }
    return ;
}
int main( ){
    for(int i=1;i<=10;i++){
        for(int j=1;j<=10;j++){
            char a=getchar();
            if(a=='.'){
                mi[i][j]=0;
            }
            else mi[i][j]=1;
           // cout<<mi[i][j];
        }
        getchar();
        //cout<<endl;
    }
    vis[1][1]=1;
    dfs(1,1);
    if(!flag){
        cout<<"No"<<endl;
    }
    return 0;
}

信息

递交者
类型
递交
题目
P1001 hitwh 2019 新生赛 B lxdlam 和他的迷宫
语言
C++
递交时间
2020-12-19 15:06:52
评测时间
2020-12-19 15:06:52
评测机
分数
100
总耗时
7ms
峰值内存
232.0 KiB