[C] 백준 2606 바이러스

z00m__in·2021년 6월 19일
0

Algorithm - Graph

목록 보기
4/4

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

문제

신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다.

어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수를 출력하는 프로그램을 작성하시오.

제출 66000 정답 비율 45%





코드

#include <stdio.h>

int arr[100][100] = { 0 };
int visited[100] = { 0 };
int cnt = 0;

void dfs(int startnode, int n) {
	cnt++;
	visited[startnode] = 1;
	for (int i = 1; i <= n; i++) {
		if (arr[startnode][i] == 1 && visited[i] == 0)
			dfs(i, n);
	}
}

int main() {
	int n, pair;
	scanf("%d", &n);
	scanf("&d", &pair);
	for (int i = 1; i <= pair; i++) {
		int a, b;
		scanf("%d %d", &a, &b);
		arr[a][b] = 1;
		arr[b][a] = 1;
	}
	dfs(1, n);
	printf("%d", cnt);


	return 0;
}
profile
우당탕탕 기록지

0개의 댓글

Powered by GraphCDN, the GraphQL CDN