박오이님
무미건조한 개발자
박오이님
전체 방문자
오늘
어제
  • 뭥미 (101)
    • 프로젝트 (8)
      • 자가 보호 (3)
      • 주식 시장 분석 도구 (5)
    • 보안 (7)
      • 개론 (2)
      • 웹 (2)
      • 시스템 (2)
    • 개발 (69)
      • C++ (12)
      • Win32 (7)
      • MFC (2)
      • 자료구조 (8)
      • 알고리즘 (22)
      • 백준 (9)
      • 프로그래머스 (4)
      • LeetCode (0)
      • 개발자 면접 준비 (4)
      • OpenGL (1)
    • 서적 (13)
      • Effective C++ (9)
      • Effective Modern C++ (4)
    • 관심사 (4)
      • 재테크 (4)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 윈도우프로그래밍
  • C++
  • 합집합찾기
  • EffectiveC++
  • 백준 #알고리즘 #플로이드와샬 #DFS #BFS #C #C++
  • std
  • 개발
  • C
  • 윈도우
  • CPP
  • 동빈나
  • 크루스칼알고리즘
  • 최소간선비용
  • 윈도우시스템프로그래밍
  • 나동빈 #알고리즘 #동빈나
  • JSON
  • 에라토스테네스의 체 #C #C++ #개발 #알고리즘 #BFS #DFS #백준 #백준알고리즘
  • Functional
  • 에라토스테네스의 체 #알고리즘 #개발 #C #C++ #소수 #소수판별
  • jsoncpp
  • 시스템프로그래밍
  • 알고리즘
  • 나동빈
  • 플로이드와샬알고리즘 #최단경로 #백준 #알고리즘 #개발 #C #C++
  • 코딩컨벤션
  • DFS #BFS #알고리즘 #프로그래밍 #코딩테스트 #코딩 #C++ #C
  • 윈도우개발자
  • 안경잡이개발자
  • vcpkg
  • 프로세스메모리

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
박오이님

무미건조한 개발자

개발/백준

백준 11724번: 연결 요소의 개수

2019. 8. 29. 01:25

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

 

11724번: 연결 요소의 개수

첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어진다.

www.acmicpc.net

 

아이디어 : DFS

이것은 정점 기준으로 방문체크해주면서, Main 문에서 실행 한 DFS 카운트 횟수를 계산하는 것이 포인트.

 

의견 : BFS를 풀고 싶어서 찾은건데, DFS로 푸는 것이 맞다 생각했다.

그리고 DFS 기본 구현을 하면 풀 것 같다.

 

#include <iostream>
#include <vector>
using namespace std;

int N, M;
int nCount;

vector<int> v[1001];
bool bChecked[1001];

void DFS(int x)
{
	if (bChecked[x]) return;
	bChecked[x] = true;
		

	for (int i = 0; i < v[x].size(); i++)
	{
		int temp = v[x][i];

		DFS(temp);
	}
}

int main(void)
{
	cin >> N >> M;
	int nNum1, nNum2;

	for (int i = 0; i < M; i++)
	{
		cin >> nNum1 >> nNum2;
		v[nNum1].push_back(nNum2);
		v[nNum2].push_back(nNum1);
	}

	for (int i = 1; i <= N; i++)
	{
		if(!bChecked[i])
		{ 
			DFS(i);
			nCount++;
		}
	}

	cout << nCount << endl;
	return 0;
}

 

'개발 > 백준' 카테고리의 다른 글

백준 1325번: 효율적인 해킹  (0) 2019.09.24
백준 1963번: 소수 경로  (0) 2019.09.02
백준 1389번: 케빈 베이컨의 6단계 법칙  (0) 2019.09.01
백준 11403번: 경로 찾기  (0) 2019.08.28
백준 7562번: 나이트의 이동  (0) 2019.08.28
    '개발/백준' 카테고리의 다른 글
    • 백준 1963번: 소수 경로
    • 백준 1389번: 케빈 베이컨의 6단계 법칙
    • 백준 11403번: 경로 찾기
    • 백준 7562번: 나이트의 이동
    박오이님
    박오이님
    긍정도 아니고 부정도 아닌 0

    티스토리툴바