본문 바로가기
프로그래머스

네트워크

by paysmile 2019. 9. 16.
#include <string>
#include <vector>
#include <cstring>

using namespace std;
const int MAX = 201;
int visited[MAX];

void dfs(int i,int n, vector<vector<int>> c) {
	if (visited[i] == 1)
		return;
	else
		visited[i] = 1;

	for (int k = 0; k < n; k++) {
		if (k == i)
			continue;
		if (c[i][k] == 1)
			dfs(k, n, c);
	}
}

int solution(int n, vector<vector<int>> computers) {
	int answer = 0;

	memset(visited, -1, sizeof(visited));
	for (int i = 0; i < n; i++) {
		if (visited[i] == -1) {
			dfs(i,n,computers);
			answer++;
		}
	}
	return answer;
}

'프로그래머스' 카테고리의 다른 글

단속 카메라  (0) 2019.09.23
타일 장식물  (0) 2019.09.16
2 x n 타일링  (0) 2019.09.11
N으로 표현  (0) 2019.09.10
카카오프렌즈 컬러링북  (0) 2019.09.10