-
[Algorithm] 백준 알고리즘 1260 (DFS와 BFS)Algorithm 2020. 3. 15. 22:52
java 코드
import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int n; static int m; static int v; static int map[][]; static boolean visit[]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); m = sc.nextInt(); v = sc.nextInt(); map = new int[n+1][n+1]; visit = new boolean[n+1]; for(int i=0; i<m; i++) { int x = sc.nextInt(); int y = sc.nextInt(); map[x][y] = map[y][x] = 1; } dfs(v); resetVisit(); bfs(v); } static void dfs(int s) { visit[s]=true; System.out.print(s+" "); for(int i=1; i<=n; i++) { if(map[s][i]==1 && !visit[i]) { dfs(i); } } } static void resetVisit() { for(int i=1; i<=n; i++) { visit[i]=false; } System.out.println(""); } static void bfs(int s) { Queue<Integer> q = new LinkedList<Integer>(); q.add(s); visit[s]=true; while(!q.isEmpty()) { int t = q.poll(); System.out.print(t+" "); for(int i=1; i<=n; i++) { if(map[t][i]==1&&!visit[i]) { visit[i]=true; q.add(i); } } } } }
'Algorithm' 카테고리의 다른 글
[Algorithm] 백준 알고리즘 11403 (경로 찾기) (0) 2020.03.28 [Algorithm] 백준 알고리즘 1012 (유기농 배추) (0) 2020.03.28 [Algorithm] 백준 알고리즘 1697 (숨바꼭질) (0) 2020.03.28 [Algorithm] 백준 알고리즘 2667 (단지 번호 붙이기) (0) 2020.03.22 Git hub 시작하기 / eclipse연결하기 (0) 2019.10.09