-
[Algorithm] 백준 알고리즘 11724 (연결 요소의 개수)Algorithm 2020. 3. 28. 16:23
java 코드
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class LinkCount { static int N, M, count; static int map[][]; static boolean visited[]; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N=Integer.parseInt(st.nextToken()); M=Integer.parseInt(st.nextToken()); map = new int[N][N]; visited = new boolean[N]; while(M!=0) { st = new StringTokenizer(br.readLine()); int x=Integer.parseInt(st.nextToken()); int y=Integer.parseInt(st.nextToken()); map[x-1][y-1]=map[y-1][x-1]=1; M--; } for(int i=0; i<N; i++) { if(!visited[i]) { solve(i); count++; } } System.out.println(count); } static void solve(int i) { Queue<Integer> q = new LinkedList<>(); q.add(i); visited[i]=true; while(!q.isEmpty()) { int x = q.poll(); for(int a=0; a<N; a++) { if(map[x][a]==1&&!visited[a]) { visited[a]=true; q.add(a); } } } } }
'Algorithm' 카테고리의 다른 글
[프로그래머스] 수식 최대화(2020 카카오 인턴십) (0) 2021.01.08 [Algorithm] 백준 알고리즘 14502 (연구소) (0) 2020.03.29 [Algorithm] 백준 알고리즘 11403 (경로 찾기) (0) 2020.03.28 [Algorithm] 백준 알고리즘 1012 (유기농 배추) (0) 2020.03.28 [Algorithm] 백준 알고리즘 1697 (숨바꼭질) (0) 2020.03.28