문제 : https://www.acmicpc.net/problem/2606
import java.util.Scanner;
public class Main {
static int vCnt;
static int pair_cnt;
static int [][] vMap;
static int [] chkVisited;
static int count;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
vCnt = scan.nextInt();
pair_cnt = scan.nextInt();
vMap = new int[vCnt+1][vCnt+1];
chkVisited = new int [vCnt+1];
count = 0;
//인접행렬 만들기
for (int i = 0; i < pair_cnt; i++) {
int a = scan.nextInt();
int b = scan.nextInt();
vMap[a][b] = vMap[b][a] =1 ;
}
/* for (int i = 0; i < vMap.length ; i++) {
for (int j = 0 ; j < vMap[i].length ; j++) {
System.out.print(vMap[i][j]);
}
System.out.println();
}*/
dfs(1);
System.out.println(count);
}
public static void dfs (int start) {
chkVisited[start] = 1;
for(int i = 1 ; i < chkVisited.length ; i ++) {
if(vMap[start][i] == 1 && chkVisited[i] == 0) {
// System.out.println(start +"->"+ i);
count ++;
dfs(i);
}
}
}
}
'알고리즘 > 심심풀이 문제풀기' 카테고리의 다른 글
[심심풀이 백준문제풀기] 10430번 나머지 (파이썬3) (0) | 2018.09.04 |
---|---|
[심심풀이 백준문제풀기] 8433128번 감시 (2018 상반기 삼성SDS 기출) (0) | 2018.04.17 |
[심심풀이 백준문제풀기] 9012번 괄호 (0) | 2018.04.10 |
[심심풀이 백준문제풀기] 10828번 스택 (0) | 2018.04.10 |
[심심풀이 백준문제풀기] 2750번 수 정렬하기 (버블정렬) (0) | 2018.04.07 |