jiyolla   3년 전

  1. N개의 문제는 모두 풀어야 한다.
  2. 먼저 푸는 것이 좋은 문제가 있는 문제는, 먼저 푸는 것이 좋은 문제를 반드시 먼저 풀어야 한다.
  3. 가능하면 쉬운 문제부터 풀어야 한다.

이미 https://www.acmicpc.net/board/...에서도 잘 지적해주셨고 답변도 달렸지만 답변이 질문한 점을 해소하지 못하였습니다. 근데 저게 1년전 글이라서, 사실상 같은 시사점을 가진 글이진만 이렇게 다시 써봅니다.

저는 처음에는 선수 조건이 없는 문제 중에서 번호가 작은 것부터 풀어야 겠다 해서 구현했는데

1~5, 5 1에 대해서 2 3 4 5 1을 출력합니다.

근데 이게 아닌가보다 해서

아, 무조건 1번부터 푸는데, 1번을 푸는 과정 중에 풀어야만하는 문제들을 먼저 푸는 것이고, 그 다음에 2번의 선수 문제들,2번, 3번의 선수의 문제들, 3번 이런식이구나해서(물론 아직 안 풀린 선수 문제가 존재한다는 조건하이고, 선수 문제들도 최대한 쉬운 것부터 풉니다)

1~5, 5 1이 5 1 2 3 4가 되게 했습니다.

지금 양쪽 다 AC가 안 떴는데...AC여부를 떠나서

생각해보니, 양쪽 둘 다 문제의 설명을 위배하지 않는 것입니다.

첫 번째 접근 같은 경우는 2,3,4번을 5번 보다 먼저 풀 수 있기 때문에 먼저 푼 것이고

두 번째 접근은 1번을 2,3,4번보다 먼저 풀 수 있기 때문에 1번이 1번을 먼저 풀 수 있도록 한 것입니다.

혹은 "가능하면 쉬운 문제부터 풀어야 한다"에 관점으로 보면

첫 번째 접근은 지금 풀 수 있는(가능한) 문제(즉 선수 조건이 없는 문제죠) 중에서 2번이 가장 쉽기 때문에 2번부터 푼 것이고,

두 번째 접근은 아직 안 푼 문제 중에 1번 문제가 가장 쉽기 때문에 1번을 푸는 게 맞는데, 1번 풀기 위해서 필요한 문제를 푼 것이다..로 볼 수 있을 것 같네요...

jiyolla   3년 전

첫 번째 접근이 옳은 해석이었네요.

youngkwon02   1년 전

저는 두번째 해석으로 풀었는데 틀렸다고 나오네요.. 애매한 부분은 맞는거같아요

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