CodeLabs

[백준 / C#] 2606 : 바이러스 본문

백준/1000 ~

[백준 / C#] 2606 : 바이러스

무오_ 2023. 8. 2. 22:30
using System;
using System.Linq;

namespace _2606
{
    class Program
    {
        static int n, m;
        static int[] visited = new int[101];
        static int[,] map = new int[101,101];
        static void DFS(int v)
        {
            visited[v] = 1;
            for(int i=1; i<=n; i++)
            {
                if (visited[i] == 1 || map[v, i] == 0)
                    continue;
                DFS(i);
            }
        }
        static void Solution()
        {
            int result = 0;
            foreach(int a in visited)
            {
                if (a == 1)
                    result++;
            }
            Console.WriteLine(result - 1);
        }
        static void Input()
        {
            n = int.Parse(Console.ReadLine());
            m = int.Parse(Console.ReadLine());
            for (int i=1; i<=m; i++)
            {
                int[] input = Console.ReadLine().Split().Select(int.Parse).ToArray();
                map[input[0], input[1]] = 1;
                map[input[1], input[0]] = 2;
            }
        }
        static void Solve()
        {
            Input();
            DFS(1);
            Solution();
        }
        static void Main(string[] args)
        {
            Solve();
        }
    }
}