[백준 2606] 바이러스

2022. 1. 10. 21:47·스터디/알고리즘
#include <iostream>
using namespace std;
 
int v, e;
const int MAX = 101;
int V[MAX][MAX] = { 0, };
bool checked[MAX] = { 0, };
int count = 0;
 
void DFS(int x) {
    checked[x] = true;
    count++;
 
    for (int i = 1; i <= v; i++) {
        if (checked[i] == 0 && V[x][i] == 1) {
            DFS(i);
        }
    }
}
 
int main() {
    cin >> v >> e;
    for (int i = 0; i < e; i++) {
        int n, m;
        cin >> n >> m;
        V[n][m] = 1;
        V[m][n] = 1;
    }
 
    DFS(1);
    
    cout << count - 1;
}

DFS를 이용하여 문제를 품

checked[x] = true로 현재 방문한 노드(x)를 표시하고

for문을 통해 1부터 n대의 컴퓨터에 대해 i번째 컴퓨터를 방문 했는지(checked[i] ==0)와 현재 노드(x)와 i번째의 컴퓨터가 연결되어 있는지 V[i][x] == 1)를 확인하고 i의 dfs를 호출

'스터디 > 알고리즘' 카테고리의 다른 글

[백준 5212] 지구 온난화  (0) 2022.01.13
[백준 2164] 카드2  (0) 2022.01.10
[백준 22864] 피로도  (0) 2022.01.10
[백준 20436] ZOAC 3  (0) 2022.01.10
[백준 1158] 요세푸스 문제  (0) 2022.01.06
'스터디/알고리즘' 카테고리의 다른 글
  • [백준 2164] 카드2
  • [백준 22864] 피로도
  • [백준 20436] ZOAC 3
  • [백준 1158] 요세푸스 문제
덩이
덩이
찍먹 대마왕
  • 덩이
    Devlog
    덩이
  • 전체
    오늘
    어제
    • 분류 전체보기 (118)
      • 강의 (68)
        • SAP ERP (11)
        • KOSTA (32)
        • Inflearn (0)
        • etc (25)
      • 회사 (0)
        • 스터디 (3)
        • 전자정부 (0)
      • 학교 (15)
      • 스터디 (30)
        • 알고리즘 (25)
        • 프로젝트 (3)
        • 에러 (2)
        • 자격증 (0)
      • 기타 (2)
        • 자료 (1)
        • 회고록 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
    • Naver
  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
덩이
[백준 2606] 바이러스
상단으로

티스토리툴바