Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준2606
- 구현
- 신입 사원
- 동전0
- 백준11047
- sql
- javascript
- 알고리즘
- 백준12845
- 백준1969
- 백준10988
- 백준 1946
- 백준11000
- BFS
- dfs
- 펠린드롬
- 바닥장식
- 백준
- 자바
- 강의실배정
- Spring Framework MVC
- 그리디
- Java
- 백준4796
- 프로그래머스43165
- 타겟넘버
- 프로그래머스
- jsp
- 백준1388
- BFS/DFS
Archives
- Today
- Total
The Kkang's man
[ 자바 / Java ] 백준 1260 : DFS 와 BFS 본문
문제
풀이
package week03;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class DFSBFS_1260 {
static boolean[] check;
static int[][] graph;
static int N, M, V;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int i;
N = Integer.parseInt(st.nextToken()); // 정점
M = Integer.parseInt(st.nextToken()); // 간선
V = Integer.parseInt(st.nextToken()); // 시작점
graph = new int[N+1][N+1];
check = new boolean[N+1];
for(i=0; i<M; i++) {
st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
graph[x][y] = 1;
graph[y][x] = 1;
}
DFS(V);
System.out.println();
Arrays.fill(check, false);
BFS(V);
}
public static void DFS(int i) {
int j;
check[i] = true;
System.out.print(i + " ");
for(j=1; j<N+1; j++) {
if( graph[i][j] == 1 && !check[j]) {
DFS(j);
// 갈 곳이 없으면 리턴해서 돌아옴
}
}
}
public static void BFS(int i) {
Queue<Integer> Q = new LinkedList<Integer>();
Q.offer(i);
check[i] = true;
// 방문 체크
while(!Q.isEmpty()) {
int tmp = Q.poll();
int j;
System.out.print(tmp + " ");
for(j=1; j<N+1; j++) {
if(graph[tmp][j] == 1 && !check[j]) {
Q.offer(j);
check[j] = true;
}
}
}
}
}
'알고리즘 > BFS&DFS' 카테고리의 다른 글
[ 자바 /Java ] 프로그래머스 43165 : 타겟넘버 (0) | 2021.07.04 |
---|---|
[ 자바 /Java ] 백준 11724 : 연결 요소의 개수 (0) | 2021.06.27 |
[ 자바 /Java ] 백준 2606 : 바이러스 (0) | 2021.06.27 |
[ 자바 / Java ] 백준 1388 : 바닥 장식 (0) | 2021.06.27 |
Comments