본문 바로가기
Algorithm 💫/Problem Solving

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

by 돼지고기맛있다 2021. 9. 16.
반응형

✏️ 문제 링크

https://www.acmicpc.net/problem/2606

 

2606번: 바이러스

첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어

www.acmicpc.net

 

 

✏️ 문제 설명 (더보기 클릭 👆🏻)

 

✏️ 문제 코드

#include <bits/stdc++.h>

using namespace std;
using pii=pair<int, int>;

vector<int> computer[101];
vector<bool> vis(101, false);
int main(){
    int N, K, answer=0; cin>>N>>K;
    while(K--){
        int a, b; cin>>a>>b;
        computer[a].push_back(b);
        computer[b].push_back(a);
    }
    
    queue<int> q; q.push(1); vis[1]=true;
    while(!q.empty()){
        int cur=q.front(); q.pop();
        
        
        for(int i=0; i<computer[cur].size(); i++){
            int nxt=computer[cur][i];
            if(!vis[nxt]){
                vis[nxt]=true; 
                q.push(nxt); answer++;
            }
        }
    }
    cout<<answer<<"\n";
    return 0;
}

 

 

 

 ⭐ if feedback and question : comment please⭐  

 

 

 

 

 

반응형

댓글