文章

121

粉丝

68

获赞

94

访问

20.4k

头像
生化武器 题解:DFS深搜思路,好写
P1126
发布于2025年2月6日 10:33
阅读数 136

#include <bits/stdc++.h>
using namespace std;

void dfs(int x, int y, int step, vector<vector<char>>& a, vector<vector<int>>& b) {
    if (step == 0) return;
    for (int i = 0; i < 4; i++) {
        int nx = x + b[i][0];
        int ny = y + b[i][1];
        if (nx >= 0 && nx < a.size() && ny >= 0 && ny < a[0].size() && a[nx][ny] == '.') {
            a[nx][ny] = '#';
            dfs(nx, ny, step - 1, a, b);
        }
    }
}

int main(){
    int n,m,t;
    vector<vector<int>>b={{0,1},{1,0},{0,-1},{-1,0}};
    while(cin>>n>>m>>t){
        std::vector<vector<char>> a(n,vector<char>(m));
        getchar();
        int posx=0,posy=0;
        for(int i=0;i<n;i++){
            string s;getline(cin,s);
            for(int j=0;j<s.size();j++){
                a[i][j]=s[j];
                if(s[j]=='*'){
                    ...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发