文章

37

粉丝

98

获赞

4

访问

22.6k

头像
生化武器 题解:dfs代码如下:
P1126
发布于2024年3月10日 20:17
阅读数 714

#include<iostream>
#include<algorithm>
#include<string>
#include<string.h>
using namespace std;
int n, m, t;
//存地图的数组
char mp[100][100];
int vis[100][100];//存是否已散发过
int dis[4][2] = { {0,-1},{1,0},{0,1},{-1,0} };//对应上右下左

void dfs(int x,int y,int step) {
    if (step == t) {
        return;
    }

    //向四面走
    for (int i = 0; i < 4; i++) {
        int x1 = x + dis[i][0];
        int y1 = y + dis[i][1];
        if (mp[x1][y1] == '.') {
            //表明可以走
            vis[x1][y1] = 1;
            mp[x1][y1] = '#';
            dfs(x1, y1, step + 1);
            //回溯后不用vis[x1][y1] = 0;因为并不是寻找路线,走了的就不走了
        }
    }
}
...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发