kdh9520   1년 전

셋에 포함된 (체크된)애들은 포문도 안돌고 함수도 수행안되게 했는데도 시간초과가뜹니다.

이이상 최적화시킬수 없는거같은데 어떤부분이 문제인지 모르겠네요...자바로해서 시간초과뜨는건가..



noeffserv   1년 전

search 에서 numOfEnemy 값만큼 for 문을 돌려서 시간초과가 난것 같습니다.

저 같은 경우는 각 진영에 대한 인접리스트를 미리 구해놓고 dfs 를 돌려서 AC 받았습니다.


numOfEnemy 값만큼 돌린것 빼고는 저랑 알고리즘상 차이는 없네요.


kdh9520   1년 전

인접리스트를 어떤형식으로 유지하셨나요?

kdh9520   1년 전

AC받았다는말이 어떤건지 설명좀 해주실수있나요??ㅜ


kdh9520   1년 전

죄송한데 코드좀 볼수 있을까요 ?ㅠㅠ

첨에 인접리스트 구성할때도 for문2번 중첩시켜서 돌려야하지않나요?

noeffserv   1년 전

AC 는 Accepted 줄여서 말한겁니다.


인접리스트 구성할때 2중 for 문 돌렸죠. 동적할당 썼습니다.

전 c++ 이니깐, vector 이용했습니다.

kdh9520   1년 전

같은방식으로 코딩했는데도 시간초과이네요...

코드에 문제가있나요 혹시?ㅠㅠ


noeffserv   1년 전

isSet 함수를 제 코드처럼 바꾸니깐 시간초과는 안 뜨고 "틀렸습니다" 가 뜨네요.

알고리즘상으로는 저랑 차이가 없는 것 같은데 틀렸습니다 가 뜨니깐..

혹시나 싶어서 제 코드를 제출해봤는데.. 맞았습니다 가 뜨네요.


그렇다면 자바코드 상에서.. 뭔가 계산 오류가 생긴것 같습니다..


아래 코드는 수정한 isSet 입니다.

kdh9520   1년 전

거리판단은 double형으로 해줘야하지않나요?

소수점이 날라가면 계산오류가날수도있으니... 그렇게했는데

noeffserv   1년 전

sqrt 안 씌우고 제곱 상태에서 계산하면 정수로도 가능해요.

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