개발자 톡
연습문제 톡
[21년 재직자 대회 예선] 이미지 프로세싱
이거 대체 무슨차인가요? (스포)
- 등록일
- 2024-11-01 00:16:37
- 조회수
- 2
- 작성자
- junho0956
방문흔적을 안남긴게 아닌데
큐에 넣을때 방문처리하는게 어떤 예시에서 시간초과를 발생시키는건지 궁금합니다.
// 1. 큐에서 꺼냈을 때 방문처리 static void query(int y, int x, int c) { Deque<int[]> q = new ArrayDeque<>(); q.add(new int[]{y,x}); int color = map[y][x]; while(!q.isEmpty()) { int[] cur = q.pop(); int cy = cur[0], cx = cur[1]; if (map[cy][cx] == c) continue; map[cy][cx] = c; for (int k=0; k<4; k++) { int yy=cy+ay[k], xx=cx+ax[k]; if (yy<1||xx<1||yy>n||xx>m||map[yy][xx]!=color) continue; q.add(new int[]{yy, xx}); } } } // 2. 큐에 넣을때 방문처리 static void query(int y, int x, int c) { Deque<int[]> q = new ArrayDeque<>(); q.add(new int[]{y,x}); int color = map[y][x]; map[y][x] = c; int cnt = 0; while(!q.isEmpty()) { int[] cur = q.pop(); int cy = cur[0], cx = cur[1]; for (int k=0; k<4; k++) { int yy=cy+ay[k], xx=cx+ax[k]; if (yy<1||xx<1||yy>n||xx>m||map[yy][xx]!=color) continue; map[yy][xx] = c; q.add(new int[]{yy, xx}); } } }
#[21년_재직자_대회_예선]_이미지_프로세싱