ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [BOJ] 1260 : DFS와 BFS
    STUDYING/Algorithm 2018. 11. 6. 15:12
    728x90

    문제


    [BOJ] 1260 : DFS와 BFS


    애증의 BFS DFS..



    코드



    #include <stdio.h>


    int graph[1001][1001];

    int DFSvisit[1001];

    int BFSvisit[1001];

    int queue[1001];


    void DFS(int v, int n){


        int i;

        DFSvisit[v] = 1;

        printf("%d ", v);


        for (i = 1; i <= n; i++) {

            if (DFSvisit[i] == 0 && graph[v][i] == 1) {

                DFS(i, n);

            }

        }

    }


    void BFS(int v, int n){

        

        int front = 0, rear = 0;

        int i, pop;

        

        BFSvisit[v] = 1;

        queue[rear++] = v;

        printf("%d ", v);

        

        while (front < rear) {

            pop = queue[front++];

            

            for (i=1; i<=n; i++) {

                if (BFSvisit[i] == 0 && graph[pop][i] == 1) {

                    printf("%d ", i);

                    queue[rear++] = i;

                    BFSvisit[i] = 1;

                }

            }

        }

    }


    int main() {


        int n, m, v;

        int x, y;


        scanf("%d%d%d", &n ,&m, &v);


        for (int i=0; i<m; i++) {

            scanf("%d%d", &x, &y);


            graph[x][y] = graph[y][x] = 1;

        }


        DFS(v, n);

        printf("\n");

        BFS(v, n);



        return 0;

    }


    'STUDYING > Algorithm' 카테고리의 다른 글

    [BOJ] 1924 : 2007년 (Java)  (0) 2018.11.07
    [BOJ] 11719 : 그대로 출력하기 2 (Java)  (0) 2018.11.07
    [BOJ] 8958 : OX퀴즈  (0) 2018.11.01
    [BOJ] 9012 : 괄호  (0) 2018.11.01
    [BOJ] 1874 : 스택 수열  (0) 2018.10.18
Designed by Tistory.