반응형
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
- 주식 분석
- 주식 상한가
- 자바
- 급등주
- Programmers
- 경제
- 급등주 분석
- 이진우의 손에 잡히는 경제
- boj
- 손경제 요약
- 코테
- 상한가
- 상한가 분석
- 손에 잡히는 경제
- 테마주
- 경제뉴스
- 코딩테스트
- 손에 잡히는 경제 요약
- 손경제
- java
- 주식
- 이진우
- 파이썬
- 알고리즘
- 백준
- 프로그래머스
- 급등 이유
- 경제뉴스 요약
- Python
- 상한가 이유
Archives
- Today
- Total
Completion over Perfection
백준 1012 - 유기농배추 DFS (JAVA) 본문
반응형
백준 1012 - 유기농배추 DFS (JAVA)
DFS의 정석과도 같은 문제네요.
visits처리를 잘못해서 좀 헤매다가 풀었습니다.
DFS visits 처리는 DFS들어가면서 바로 해주는게 좋은것 같네요.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
import java.util.*;
public class Yuginong {
static int t,n,m,k,result;
static int map [][];
static boolean visits[][];
static int dx[] = {1, -1, 0, 0};
static int dy[] = {0, 0, 1, -1};
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
t = sc.nextInt();
for (int test_case=1; test_case<=t; test_case++) {
m = sc.nextInt();
n = sc.nextInt();
k = sc.nextInt();
map = new int[n+2][m+2];
visits = new boolean[n+2][m+2];
result = 0;
for(int i=1; i<=k; i++) {
int temp1 = sc.nextInt()+1;
int temp2 = sc.nextInt()+1;
map[temp2][temp1] = 1;
}
for(int i=1; i<=n; i++) {
for(int j=1; j<=m; j++) {
if(visits[i][j]==false && map[i][j] ==1) {
visits[i][j] =true;
dfs(i, j);
result++;
}
}
}
System.out.println(result);
}
}
private static void dfs(int x, int y) {
visits[x][y] = true; // 방문체크
for(int i=0; i<4; i++) {
int new_x = x + dx[i]; // 1 -1 0 0
int new_y = y + dy[i]; // 0 0 1 -1
if (new_x<=n || new_y<=m || new_x>=0 || new_y>=0) {
if(visits[new_x][new_y]==false && map[new_x][new_y]==1) {
dfs(new_x,new_y);
}
}
}
}
}
|
cs |
반응형
'앨고리듬 알고리즘' 카테고리의 다른 글
백준 9019 - DSLR (JAVA, 자바) (0) | 2020.11.14 |
---|---|
백준 2178 - 미로탐색 (JAVA 자바) (0) | 2020.11.11 |
백준 1260 - DFS와 BFS (JAVA) (0) | 2020.11.10 |
백준 13866 - 팀 나누기 (JAVA) (2) | 2020.11.07 |
백준 7576 - 토마토 BFS (JAVA) (0) | 2020.11.04 |
Comments