18405번 - 경쟁적 전염
곰곰히 생각을 해봤는데 반례를 도저히 모르겠습니다.
로직은
바이러스를 pair 벡터에 오름차순 순서(인덱스가 해당 역할)에 맞게 저장
-> 순서대로 bfs 큐에 넣기(큐의 원소는 x, y 좌표와 움직인 시간 dist를 저장)
-> 각 바이러스 4방향 탐색
-> 영역을 넘어가거나, 이미 방문했거나, 맵에서 해당 위치의 값이 0이 아니거나, 지정된 시간을 넘은 경우는 continue
-> 이외의 경우에는 방문 후 큐에 푸시
bfs 종료 후 visit 배열의 해당 위치 값을 출력
-> 바이러스가 있다면 그 바이러스 값이 출력
-> 없다면 0이 출력
이런 형태로 구현을 했는데 계속 11퍼센트에서 틀리네요 ㅠ.ㅠ
도움 부탁드립니다!
감사합니다.
87~90번째줄에서 초기 바이러스의 위치를 바이러스 종류별로 하나 씩만 고려하신 것 같은데, 같은 종류의 바이러스라도 2개 이상 존재할 수 있습니다.
예를 들어
3 31 0 13 0 00 0 22 1 1
와 같은 입력도 가능합니다
헉..... 감사합니다 ㅠㅠ
확인해볼게요!!
@neohaps
감사합니다! 덕분에 해결됐습니다~!! :)
댓글을 작성하려면 로그인해야 합니다.
jscb159 2년 전
곰곰히 생각을 해봤는데 반례를 도저히 모르겠습니다.
로직은
바이러스를 pair 벡터에 오름차순 순서(인덱스가 해당 역할)에 맞게 저장
-> 순서대로 bfs 큐에 넣기(큐의 원소는 x, y 좌표와 움직인 시간 dist를 저장)
-> 각 바이러스 4방향 탐색
-> 영역을 넘어가거나, 이미 방문했거나, 맵에서 해당 위치의 값이 0이 아니거나, 지정된 시간을 넘은 경우는 continue
-> 이외의 경우에는 방문 후 큐에 푸시
bfs 종료 후 visit 배열의 해당 위치 값을 출력
-> 바이러스가 있다면 그 바이러스 값이 출력
-> 없다면 0이 출력
이런 형태로 구현을 했는데 계속 11퍼센트에서 틀리네요 ㅠ.ㅠ
도움 부탁드립니다!
감사합니다.