top1编程
← 返回题目
题解

【入门】图的dfs遍历

1 条题解

  • 0
    @ 2026-7-29 0:19:08
    #include<bits/stdc++.h>
    using namespace std;
    int a[11][11];
    int vis[11];
    void dfs(int u){
        vis[u]=1;
        printf("%d ",u);
        for(int v=1;v<=10;v++){
            if(a[u][v]&&!vis[v]){
                dfs(v);
            }
        }
    }
    int main(){
        int n,e;
        scanf("%d%d",&n,&e);
        for(int i=0;i<e;i++){
            int x,y;
            scanf("%d%d",&x,&y);
            a[x][y]=1;
            a[y][x]=1;
        }
        dfs(1);
        return 0;
    }
    
    • 1