蓝桥杯2017年第八届C/C++省赛A组第一题-迷宫

题目描述

蓝桥杯2017年第八届C/C++省赛A组第一题-迷宫_第1张图片
蓝桥杯2017年第八届C/C++省赛A组第一题-迷宫_第2张图片

源代码

思路:
遍历每一个点
建立一个辅助标记数组,能够成功走出迷宫的人,都不会会到原来走过的地方

#include 
#include 

using namespace std;
int ans;
int vis[10][10];
int main()
{
    char a[10][10];
    for(int i=0;i<10;i++)
        for(int j=0;j<10;j++)
            cin>>a[i][j];
    for (int i = 0; i < 10; ++i) {
        for (int j = 0; j < 10; ++j) {
            memset(vis,0, sizeof(vis));
            int nx=i;
            int ny=j;
            while(!vis[nx][ny]){
                vis[nx][ny]=1;
                if(a[nx][ny]=='U') nx--;
                else if(a[nx][ny]=='L') ny--;
                else if(a[nx][ny]=='D') nx++;
                else if(a[nx][ny]=='R') ny++;
                if(nx<0||ny<0||nx>=10||ny>=10) {
                    ans++;
                    break;
                }
            }
        }
    }
    cout<<ans;
    return 0;
}

正确答案

31

你可能感兴趣的:(蓝桥杯,#,2017年第八届省赛,蓝桥杯)