본문 바로가기
백준 알고리즘/BFS

백준 11724번 C++

by paysmile 2019. 1. 9.

#include <iostream>

#include <vector>

#include <cstring>

#include <algorithm>

using namespace std;


int n, m;

vector<pair<int, int>> way;

int visited[1000];


void dfs(int i) {

visited[i] = 1;


for (int k = 0; k < way.size(); k++) {

if (way[k].first == i) {

if (visited[way[k].second] == 0)

dfs(way[k].second);

}

}

}


int main(void) {

cin >> n >> m;


memset(visited, 0, sizeof(visited));

for (int i = 0; i < m; i++) {

int x, y;

cin >> x >> y;

way.push_back(make_pair(x, y));

way.push_back(make_pair(y, x));

}

int answer = 0;

for (int i = 1; i <= n; i++) {

if (visited[i]== 0) {

dfs(i);

answer += 1;

}

}

cout << answer;

}

'백준 알고리즘 > BFS' 카테고리의 다른 글

백준 14502번 C++  (0) 2019.01.10
백준 2468번 C++  (0) 2019.01.09
백준 2583번 C++  (0) 2019.01.08
백준 11403번 C++  (0) 2019.01.07
백준 1697번 C++  (0) 2019.01.07