[BOJ 2606 / C++] 바이러스 (그래프)

2025. 8. 12. 20:53·코딩테스트/BOJ

문제링크: https://www.acmicpc.net/problem/2606

 

1. 코드

#include <bits/stdc++.h>
using namespace std;

void dfs(vector<vector<int>>& adj, vector<bool>& vis, int cur, int& cnt) {
    vis[cur] = true;
    cnt++;
    for (int nxt: adj[cur]) {
        if (vis[nxt]) continue;
        dfs(adj, vis, nxt, cnt);
    }
}

int main() {
    ios::sync_with_stdio(0); cin.tie(0);

    int n, m;
    cin >> n >> m;

    vector<vector<int>> adj(n+1);

    for (int i = 0; i < m; i++) {
        int u, v;
        cin >> u >> v;

        adj[u].push_back(v);
        adj[v].push_back(u);
    }

    vector<bool> vis(n+1, false); 
    int cnt = 0;
    dfs(adj, vis, 1, cnt);
    cout << cnt-1;
}

 

 

2. 시간복잡도

정점의 개수 v = 100이고, 간선의 개수 e = 최대 v(v-1)/2 = 50*90 = 4500이다. 인접리스트에서 dfs, bfs의 시간복잡도는 O(v+e)이므로 4600 < 10^8 으로 시간제한 1초 안에 해결 가능하다.

 

 

3. 분석

인접리스트로 그래프를 입력받고 dfs로 순회하면서 연결되어있는 노드의 개수를 세면 된다. 1번 노드가 감염시킨 노드의 개수를 세야하므로 첫번째 노드인 1개를 빼줘야한다.

 

 

 

'코딩테스트 > BOJ' 카테고리의 다른 글

[BOJ 2252 / C++] 줄 세우기 (위상정렬)  (0) 2025.08.13
[BOJ 4803 / C++] 트리 (트리)  (0) 2025.08.12
[BOJ 10989 / C++] 수 정렬하기 3 (정렬)  (1) 2025.08.10
[BOJ 13975 / C++] 파일 합치기 3 (우선순위 큐)  (0) 2025.08.06
[BOJ 14891 / C++] 톱니바퀴 (시뮬레이션)  (0) 2025.08.04
'코딩테스트/BOJ' 카테고리의 다른 글
  • [BOJ 2252 / C++] 줄 세우기 (위상정렬)
  • [BOJ 4803 / C++] 트리 (트리)
  • [BOJ 10989 / C++] 수 정렬하기 3 (정렬)
  • [BOJ 13975 / C++] 파일 합치기 3 (우선순위 큐)
sophon
sophon
sophon 님의 블로그 입니다.
  • sophon
    sophon 님의 블로그
    sophon
    • 카테고리 (173) N
      • 컴퓨터공학 (36)
        • 데이터베이스 (19)
        • 네트워크 (15)
        • 기타 이슈 (2)
      • 프로젝트 (16)
        • Java (8)
        • Spring (4)
        • Docker (4)
        • AI Agent (0)
      • 코딩테스트 (96) N
        • BOJ (74)
        • 프로그래머스 (7)
        • 프로그래머스 SQL (13) N
        • PS Snippets (2)
      • 🌱 잡담 (22)
        • 자격증 (7)
        • 좋은 시 모음 (12)
        • 책과 영화 (3)
        • 기록 (0)
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
sophon
[BOJ 2606 / C++] 바이러스 (그래프)
상단으로

티스토리툴바