바이러스(백준)

108번뇌·2021년 5월 2일
0

#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>

using namespace std;

int M;
int N;
int iResult(0);

int Map[101][101] = { 0, };
bool Chk[101] = { false, };



void DFS(int iStart)
{
    Chk[iStart] = true;

    for (int i = 1 ; i <= M; i++)
    {
        if ((Chk[i] == 0) && (Map[iStart][i] == 1))//방문 안했으며, 길이 이어져 있을 때
        {
            iResult++;
            DFS(i);
        }
    }
}


void BFS(int iStart)
{
    queue<int> qTemp;
    Chk[iStart] = 1;//방문기록 남기고
    qTemp.push(iStart);//하나 집어넣고

    while (!qTemp.empty())
    {
        int iTemp = qTemp.front();
        qTemp.pop();
        for (int i = 0; i <= M; i++)
        {
            if ((Chk[i] == 0) && (Map[iTemp][i] == 1))//방문하지 않았으며 길은 이어져있는 경우입니다.
            {
                iResult++;
                Chk[i] = 1;//방문기록 하고서 
                qTemp.push(i);//큐에 다시 집어넣는다. 
            }
        }
    }
}



int main()
{
    int a, b;
    cin >> M >> N;
    


    for (int i = 0; i < N; i++)
    {
        cin >> a >> b;
        Map[a][b] = Map[b][a] = 1;
    }

    DFS(1);

    cout << iResult << endl;

    return 0;
}

하다 안되서 대체 어디가안되나 한시간 붙잡았다...
<=M .....을 <M으로 체크했다.
백준 문제들은 테스트케이스가 하나고 입출력을 내가 넣는거여서 힘든거같다..휴

profile
내일 아침 눈을 떳을 때, '기대되는 오늘 하루를 만들기 위해' 나는 오늘도 생각하고 고민한다.

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN