CodeLabs

[백준 / C#] 1260 : DFS와 BFS 본문

백준/1000 ~

[백준 / C#] 1260 : DFS와 BFS

무오_ 2023. 7. 9. 18:33
using System;
using System.Collections.Generic;
using System.Linq;

namespace _1260
{
    class Program
    {
        static int n, m, v;
        static int[] visited = new int[1001];
        static int[,] arr = new int[1001, 1001];
        static void DPS(int v)
        {
            Console.Write(v + " ");
            visited[v] = 1;
            for(int i=1; i<=n; i++)
            {
                if (visited[i] == 1 || arr[v, i] == 0)
                    continue;
                DPS(i);
            }
        }
        static void BPS(int v)
        {
            Queue<int> bps = new Queue<int>();
            bps.Enqueue(v);
            visited[v] = 0;
            while(!bps.Count.Equals(0))
            {
                v = bps.First();
                Console.Write(v + " ");
                bps.Dequeue();
                for(int i=1; i<=n; i++)
                {
                    if (visited[i] == 0 || arr[v, i] == 0)
                        continue;
                    bps.Enqueue(i);
                    visited[i] = 0;
                }
            }
        }
        static void Solution()
        {
            DPS(v);
            Console.WriteLine();
            BPS(v);
        }
        static void Input()
        {
            int[] input = Console.ReadLine().Split().Select(int.Parse).ToArray();
            n = input[0]; m = input[1]; v = input[2];
            for(int i=0; i<m; i++)
            {
                input = Console.ReadLine().Split().Select(int.Parse).ToArray();
                arr[input[0], input[1]] = arr[input[1], input[0]] = 1;
            }
        }
        static void Solve()
        {
            Input();
            Solution();
        }
        static void Main(string[] args)
        {
            Solve();
        }
    }
}

'백준 > 1000 ~' 카테고리의 다른 글

[백준 / C#] 1541 : 잃어버린 괄호  (0) 2023.07.13
[백준 / C#] 1463 : 1로 만들기  (0) 2023.07.11
[백준 / C#] 1012 : 유기농 배추  (0) 2023.07.06
[백준 / C#] 1003 : 피보나치 함수  (0) 2023.07.03
[백준 / C#] 1074 : Z  (0) 2023.06.26