정보선생님 수아

GraphSourceCode 본문

C&C++/Algorithm

GraphSourceCode

정보선생님 수아 :D 2020. 8. 25. 17:07

/*
Test Case 1
8 10
1 2
1 3
2 4
2 5
2 6
3 7
3 8
4 5
6 7
7 8
*/
#include<stdio.h>

int visit[101] = {0};
int graph[101][101] = {0};

int n, g;

void dfs(int k) {
    int i;
    if(visit[k]==1) return ;
    visit[k] = 1;
    printf("[%d]", k);
    printf("Visited Location\n");
    for(i=1; i<=n; i++) {
        printf("%d ", visit[i]);
    }
    printf("\n");
    for(i=1; i<=n; i++) {
        if(graph[k][i]==1) {
            graph[k][i] = 0;
            graph[i][k] = 0;
            dfs(i);
        }
    }
}

int main() {
    int x, y, i, j;

    scanf("%d %d", &n, &g);

    for(i=0; i<g; i++) {
        scanf("%d %d", &x, &y);
        graph[x][y] = 1;
        graph[y][x] = 1;
    }

    for(i=1; i<=n; i++) {
        for(j=1; j<=n; j++) {
            printf("%d ", graph[i][j]);
        }
        printf("\n");
    }

    dfs(1);
}

'C&C++ > Algorithm' 카테고리의 다른 글

큐 ( Queue )  (0) 2020.08.26
스택 ( Stack )  (0) 2020.08.26
Comments