cyc1119   3년 전

문명 문제를 풀고 있는데, 시간 초과가 떴습니다. 이 코드를 먼저 설명하자면 bfs 와 union find를 응용한 코드 입니다.  Q에서 사용한 struct인 p는 어떤 좌표(x,y)에 어떤색깔 z를 세계의 시간이 t일때 칠하겠다는 것입니다. 이를 통해 색깔을 칠하면서 바로 상하좌우를 보면서 문병이 결합되었는지 체크합니다. 그리고 union find를 하면서 시간이 줄어들도록 경로압축도 했습니다. 프로그램의 예제는 잘 나옵니다. 

2000 10 1355 934 1935 436 934 1249 435 1253 1423 1953 45 1054 1395 1943 943 4 642 23 643 124

그러나 질문검색에 있는 위의 예제를 넣어보니 나오지 않는것을 보면 제 코드의 문제가 확실히 있는것 같은데 저는 잘 모르겠습니다. 대부분 시간 초과각 났을 때 질문을 하시던데, 저는 아예돌아가지도 않는 코드로 질문하여서 죄송합니다. 

cyc1119   3년 전

아 체크한점의 중복체크를 막았더니 됬네요

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