hazxz   5달 전

문제에서는 4개 이상이 모여 있으면 폭발이 일어난다라고만 되어있는데

12*6을 한번 search 할때마다 4개이상의 뿌요가 2묶음 이상 있는 경우에는

1번 search에서 폭발이 여러번 일어날 수 있습니다.

이때 이것들을 한번에 처리하고 뿌요들을 하강시키는 것인지

1개 묶음 처리 후 뿌요 하강을 반복하는 것인지...그렇다면 위에 뿌요 먼저인지 아래 뿌요 먼저인지 모르겠습니다 ㅜㅜ


코드는 한번 bfs로 모두 찾은 뒤 4개 이상 묶음은 visit 배열에 4를 넣어 체크해두고

clearPuyo() 로 4인 위치들을 모두 없애고 나머지를 하강시키는 방법을 묶음이 발견되지 않을 때까지 while문을 돌렸습니다.


분명 이렇게 긴 코드가 필요없을 것 같은데....고수분들은 어떻게 최적화 하셨는지 궁금합니다 ㅜㅜ

zych1751   5달 전

한번에 여러개의 묶음이 있는 경우 동시에 없애는 것이 맞습니다.

그리고 동시에 폭발해도 이때는 1연쇄가 추가됩니다.

hazxz   5달 전

아하 그런말이였군요 감사합니다 !
정작 문제는 하강에서 오류가 있었던 것 같습니다

이 문제 자체를 이 하강을 다른 사람들은 어떻게 구현했을까 싶어 accept 받고 소스를 좀 봤는데 잘 이해가 안가네요..
다른 분들의 코드에 비해 제 코드가 좀 번거로운 작업을 많이 한 것 같은데 ( 하강 시에 queue를 쓴다던지.. 4이상의 묶음을 bfs 끝나고 다시 check한다던지..)

제가 궁금한것은 만약 N이 12*6이 아니라 엄청 큰 뿌요게임에서 이 하강을 어떻게 구현할 수 있을 까 하는 것입니다.
지금은 N이 작으니깐 큐를 쓰든 배열을 쓰든 상관없어서 그냥 코딩했지만....
혹시 답변을 부탁 드려도 될까요 ?? ㅜㅜ

댓글을 작성하려면 로그인해야 합니다.