* 배양액들의 조합을 구해서 배치한다.
* 큐를 [초록색 배양액, 빨간색 배양액] 으로 두 개를 사용하는데
depth와 좌표 정보를 넣었다.
depth는 처음에 문제를 잘 못 이해해서 예시를 보고 추가했다.
G | 1 or 2 | R |
이렇게 되어있을 때만 가운데 좌표에 꽃이 필 수 있다.
동시에 도달했을 때의 정보를 넣어줘야 하는데 그 정보를 depth로 기록했다.
*depth를 기록했다면 이 정보를 빠르게 찾아내야 하는데, 이 정보는 dp[][] 배열에 기록해서
빨간색 배양액이 다음에 갈 곳에 이미 초록색 배양액이 있다. -> dp[nx][ny] 가 depth + 1 이면 초록색 배양액이 방금 전에 도달한 곳이다라는 정보를 찾아낼 수 있다. -> 꽃을 틔운다.
*50*50 인데 조합까지 해서 그런지 시간이 꽤 걸린다. 최적화는 나중에..
'BOJ > C++' 카테고리의 다른 글
[BOJ] 2636. 치즈 (0) | 2020.03.29 |
---|---|
[BOJ] 18808. 스티커 붙이기 (0) | 2020.03.25 |
[BOJ] 10799. 쇠막대기 (C) (0) | 2020.03.24 |
[BOJ] 1158. 요세푸스 문제 (C) (0) | 2020.03.24 |
[BOJ] 2151. 거울설치 + TC (0) | 2020.03.18 |