Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 프로그래머스
- 수박수박수박수박수?
- 연결요소의개수
- 이클립스
- 농은면접
- 부스트코스
- 웹프로그래밍
- 웹개발
- 공부
- HTML
- 백준
- 프로그래밍언어
- 한국재정정보원
- 후기
- 건보필기
- 중소기업면접
- Linux
- 필기후기
- CSS
- 프로그래밍
- 인강
- 코딩
- java
- 정수내림차순으로배치하기
- 필기
- 확인문제
- 웹
- 알고리즘
- BOJ
- algorithm
Archives
- Today
- Total
공부하는 히욤이
11724번 : 연결 요소의 개수 본문
11724번 : 연결 요소의 개수
* 문제 출처 : 백준 알고리즘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main_11724 { static int[][] map; static boolean[] visit; static int n; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; st = new StringTokenizer(br.readLine()); n = Integer.parseInt(st.nextToken()); //정점의 개수 int m = Integer.parseInt(st.nextToken()); //간선의 개수 map = new int[n+1][n+1]; //그래프 visit = new boolean[n+1]; //방문 여부 for (int i = 0; i < m; i++) { st = new StringTokenizer(br.readLine()); int x = Integer.parseInt(st.nextToken()); int y = Integer.parseInt(st.nextToken()); map[x][y] = map[y][x] = 1; //무방향 그래프 } int cnt = 0; //연결된 갯수 //dfs 하는 수 만큼 for (int i = 1; i <= n; i++) { //i번째 정점까지 if (!visit[i]) { //방문하지 않았으면 cnt++; //갯수 증가 dfs(i); //다시 dfs } } System.out.println(cnt); } static void dfs(int x) { //x는 정점 if (visit[x]) { //방문 했을 경우 return; } visit[x] = true; //방문 하지 않았다면 방문 여부 O for (int i = 1; i <= n; i++) { if (!visit[i]&&map[i][x]==1) { //방문하지 않았을 경우와 그래프가 1인 경우 dfs(i); //다시 dfs } } } } | cs |
'Algorithm > BaekJoon' 카테고리의 다른 글
[BOJ] 1436. 영화감독 숌 (0) | 2019.08.03 |
---|---|
[BOJ] 2231. 분해합 (0) | 2019.08.03 |
2606번 : 바이러스 (1) | 2019.03.07 |
9498번 : 시험 성적 (0) | 2019.02.18 |
2558번 : A+B (0) | 2019.02.18 |