文章

27

粉丝

0

获赞

130

访问

8.3k

头像
极大连通图个数 题解:8个方向DFS
jsd VIP
P1975 四川大学2024年机试题
发布于2025年3月1日 09:55
阅读数 143

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

int m, n;

void dfs(vector<vector<char> > &graph, int x, int y, vector<vector<bool> > &visit) {
    visit[x][y] = 1;
    int directions[8][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}, {1, 1}, {1, -1}, {-1, 1}, {-1, -1}};
    for(int i = 0; i < 8; i++) {
        int a = x + directions[i][0];
        int b = y + directions[i][1];
        if(a >= 1 && a <= m && b >= 1 && b <= n && graph[a][b] == 'w' && visit[a][b] == 0) {
            dfs(graph, a, b, visit);
        }
    }
}

int main() {
    cin>>m>>n;
    vector<vector<char> > graph(m + 1, vector<c...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发