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 |
Tags
- 트리 순회
- http 개념
- 자바 디자인패턴
- hadoop
- http 완벽가이드
- 자바
- MongoDB Realm
- 백준
- 백준 12761번
- go
- 12761 돌다리
- 백준 12761
- 12761번 돌다리
- 도메인 주도 개발
- String 함수
- 도메인 주도 개발 시작하기
- 고 배열
- 몽고디비 렘
- 백준 파이썬
- ddd
- flask
- domain driven develop
- 하둡
- golang struct
- golang
- 파이썬
- 정렬
- 자바 디자인 패턴
- 우분투
- 백준 사이트
Archives
- Today
- Total
개발바닥
BOJ_9376 [ 탈옥 ] 본문
반응형
문제
https://www.acmicpc.net/problem/9376
실패 했던 이유
제출 했을 때 메모리 초과가 발생했다. 그 원인을 찾아보니 맵이 커지면 큐에 중복되서 좌표를 집어 넣어서 큐가 터져서 메모리 초과가 발생했던 것이다.
문제 해결 방법
문제에서 죄수2명과 상근이가 문을 최소로만 열고 탈옥을 해야되므로
각각 bfs를 돌려서 문을 최소로 열면서 탈옥하도록 구현을 한다.
이렇게 되면 죄수2명 상근 각각 이동 횟수 맵이 만들어지므로 총 3개 맵이 만들어진다.
3개 맵을 합쳐서 맵안에서 이동가능한 경로 중 최소값을 뽑아 내면 된다.
여기서 주의할 점
세명이 문 '#' 좌표에 모이는 곳을 처리하는 과정이다.
죄수나 상근이가 문을 열게되면 다른 두명은 그 문을 열 필요가 없기 때문에 그냥 이동이 가능하므로 3개 맵에 값을 합치면서 문인 경우에는 -2를 해주어야 된다.
소스 코드 보기
https://github.com/jokerKwu/BOJ_Algorithm/blob/master/BFS/boj_9376.cpp
반응형
'[ Algorithm ] > [ BOJ ]' 카테고리의 다른 글
BOJ_17609 [ 회문 ] (0) | 2020.03.17 |
---|---|
BOJ_17610 [ 양팔저울 ] (0) | 2020.03.17 |
BOJ_10026 [ 적록색약 ] (0) | 2020.01.16 |
BOJ_17406 [ 배열 돌리기4 ] (0) | 2020.01.16 |
BOJ_2753 [ 빙산] (0) | 2020.01.15 |
Comments