blue5323   8년 전

일단 입력 받은 숫자들은 정렬했습니다.

중위로 놓을 숫자들을 고정시켜서 비교하기 위함이었습니다.

중위에 위치할 숫자(A[i])를 기준으로 차이가 가장 큰 값은

tmp=3*abs((A[0]+A[i]+A[i+1])/3.0-A[i]);

tmp=3*abs((A[i-1]+A[i]+A[N-1])/3.0-A[i]);

위와 같은 두 값으로 보아서 알고리즘을 짜보았습니다.


채점 게이지가 어느정도 올라가다가 오답이 뜬 걸 보면 통과하지 못한 케이스가 있어 보이는 것 같기도 한데요ㅜㅜ

무엇이 문제인지 도움을 주시면 감사하겠습니다.

ho94949   8년 전

실수연산의 사용을 최대한 하지 마시기 바랍니다

실수 오차가 발생할 수 있습니다.


blue5323   8년 전

문제 풀면서 간과했던 부분이었네요ㅜ

평균이라는 말을 보고 실수 연산을 했었는데 오차가 발생하기도 하는군요.

좋은 정보 알아갑니다. 감사합니다 ^^

oohmydahlia   8년 전

@blue5323


평균을 구하실때 왜 double tmp=3*abs((A[0]+A[i]+A[i+1])/3.0-A[i]); 이렇게 하셨는지 궁금해서 질문드려요!

모두 다른수에대해 전체탐색을 진행하려면 A[i]+A[i+1]+A[i+2]  이렇게 해야하는거 아닌가요?

양쪽에서 탐색한것도 궁금합니다 ^^


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