반응형
import java.util.*;
public class Main {
static int map [][];
static boolean visited [];
static int n;
static int m;
static int count=0;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
n=sc.nextInt();//정점의 갯수
m=sc.nextInt(); //간선의 갯수
map=new int [n+1][n+1];
visited=new boolean [n+1];
Arrays.fill(visited, false);
for(int i=0; i<n+1;i++){
Arrays.fill(map[i], 0);
}
for(int i=0;i<m;i++) {
int a=sc.nextInt();
int b=sc.nextInt();
map[a][b]=1;
map[b][a]=1;
}
int ans=0;
for(int i=0; i<n+1;i++){
if(!visited[i]) {
ans++;
dfs(i);
}
}
System.out.println(ans-1);
}
public static void dfs(int k) {
visited[k]=true;
for(int i=0;i<n+1;i++) {
if(visited[i]==false&&map[k][i]==1) {
count++;
dfs(i);
}
}
}
}
반응형
'개발 관련 공부 > 알고리즘' 카테고리의 다른 글
백준 1920 수찾기 (0) | 2021.08.17 |
---|---|
백준 2178 미로찾기 (0) | 2021.08.16 |
백준 1012 유기농배추 (0) | 2021.08.12 |
백준 2667 (0) | 2021.08.11 |
백준 2606 (0) | 2021.08.10 |
댓글