본문 바로가기
개발 관련 공부/알고리즘

백준 2606

by 슴새 2021. 8. 10.
반응형

import java.util.*;
public class Main {

	public static boolean visited [];
	public static int map[][];
	
	public static int n;
	
	public static int res=0;
	public static void main(String[] args) {
	
		Scanner sc=new Scanner(System.in);
		
		n=sc.nextInt();	 //정점의 갯수 	
		int m=sc.nextInt(); //간선의 갯수
		 
		
		map=new int[n+1][n+1];
		visited=new boolean[n+1];
		 
		Arrays.fill(visited, false); //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;  
		}
		 
		dfs(1);
		 
		System.out.println(res-1);
	}
	public static void dfs(int k) {
		res++;
		visited[k]=true;
		for(int i=0;i<n+1;i++) {
			if(visited[i]==false&&map[k][i]==1) {
				dfs(i);
			}
		}
	}
}
반응형

'개발 관련 공부 > 알고리즘' 카테고리의 다른 글

백준 1012 유기농배추  (0) 2021.08.12
백준 2667  (0) 2021.08.11
백준 1260  (0) 2021.08.09
백준 9184  (0) 2021.08.06
백준 18870  (0) 2021.08.05

댓글