startlink   2년 전

안녕하세요. 

https://www.acmicpc.net/board/...

에 이어서 다음에 대해서는 어떻게 생각하시는지 궁금합니다. 윗 글의 제 댓글과 관련된 의견은 윗 글이나 이 글에 달아주세요. 

  1. 시간 초과지만 min(TL*2, TL+5) 이내에 수행이 완료된 “맞았습니다!!” 제출의 경우 소요 시간을 보여줌 (대회 제출 제외)
  2. 각 소스마다 유저가 한 번 재채점을 요청할 수 있는 버튼을 만듦 (대회 제외)

2의 경우 한다면 3번 채점 큐에 넣을 예정입니다. 

djm03178   2년 전

2번에 대한 제안입니다. 유저에 의한 재채점과 일반 제출을 구분할 필요가 있을까요? 재채점은 곧 틀린 코드를 수정 버튼을 누른 뒤 다시 제출하는 것과 새 제출 번호가 생기느냐 기존 제출 번호로 동작하느냐의 차이밖에 없다고 생각하는데, 재채점도 하나의 일반 제출처럼 생각하고 동일하게 처리할 수는 없는 것인지 궁금합니다. 재채점 횟수 제한도 굳이 필요한 것인지 잘 모르곘습니다.

startlink   2년 전

재채점은 제출 번호를 유지하는 것이라 생각하고, 말씀하시는 것은 재제출에 가깝다고 생각합니다.

새 제출 번호가 생기냐, 기존 제출 번호가 유지되냐의 차이만 있는 것이 맞습니다

kdh6429   2년 전

해당 기능에 대해서 알고있는 사용자는 '시간초과' 결과에 대해서 무조건 재시도를 할 것입니다. (결과에 신뢰할수 없기 때문에)

반대로 해당기능에 모르는 사용자는 그대로 영문도 모른채 로직적인 고민에 빠질것 같습니다.

제출은 1번 하지만 내부적으로 최소 2회 이상 수행하여 최소시간을 기반으로 결과를 산출해주는 것은 어려울까요?

djm03178   2년 전

네 그래서 제 의문점은 재채점을 일반 채점과 분리하여 3번 큐에 넣는 것이 합리적인가 하는 것입니다. 재채점을 누르는 것이 우선순위가 뒤로 밀릴 것을 안다면 (정답률에 신경쓰는 사람이 아닌 이상) 재채점 대신 재제출을 선택할 것인데, 근본적으로 차이가 없는 (유저가 원해서 같은 코드에 대해 채점을 요청한다는 점) 두 채점에 대해 서로 다른 우선순위를 적용할 필요가 있는가 하는 것이었습니다.

startlink   2년 전

@kdh6429 시간 초과를 받은 경우 결과를 신뢰할 수 없다는 의미 조금 더 설명 가능할까요

startlink   2년 전

@djm03178 위에서 언급한 재채점 버튼을 눌러서 하는 재채점은 채점 현황에 나타나지 않으니 제출보다는 부담이 적어서 제출보다 자주 누를 것이라는 생각에 3번 큐를 언급했습니다 

startlink   2년 전

참고로 이 글은 업데이트 예고가 아니고, 여러가지 안에 대한 의견을 구하는 글입니다. 일단 저는 1, 2번에 대해서는 반대하는 입장이고, 글에 링크로 첨부한 글에서는 시간 제한 관련은 찬성, Python 관련 의견에서는 2만 찬성합니다. 

herdson   2년 전

제가 알기론 원 출처의 시간 제한이랑 백준으로 포팅된 문제의 시간 제한이 다른 경우가 있던데 그거에 대한 교차검증용으로 1번을 열어두는 것은 괜찮을 것 같습니다.

startlink   2년 전

올라오는 거의 모든 문제는 들어있는 소스를 다 제출해서 테스트해봅니다. 시간 제한이 다른 경우는 문제 패키지에 들어있는 소스에서 TLE로 표시된 소스가 통과해 시간을 줄인 경우가 많습니다. 

startlink   2년 전

소스를 제공하지 않는 대회는 시간 제한 그대로 올립니다. 

startlink   2년 전

새로운 아이디어도 언제나 환영입니다

hun3555   2년 전

그냥 재채점 버튼만 추가한다면 재채점 버튼이 사용자에게 크게 도움이 될 것 같지는 않다는 생각입니다.

사실 대부분의 경우는 코드를 잘못 짰거나 알고리즘의 문제로 시간초과가 나오기 마련이라서 어느 정도 문제를 풀고 나서는 많은 사용자들이 재채점 버튼을 굳이 누르지 않고 코드를 고치려고 시도해 해당 사용자들에게 버튼이 의미가 없을 것 같다는 것이 첫 번째 이유입니다.

그리고 본인이 알고리즘을 제대로 구상했고 제대로 구현했다고 생각할 경우 (이것이 아마 @kdh6429 님이 언급한 결과를 신뢰할 수 없다는 것이라고 생각합니다) 아마 무조건 재채점을 시도할 것이라고 생각되네요. 이 경우는 채점 서버에 부담만 가지 않을까 싶은 생각이 듭니다.

만일 1번과 2번을 같이 적용한다면 사용자에게 도움이 될 수 있을 것 같다는 생각이 드네요. 1번의 결과를 보고 코드를 잘못 짰거나 알고리즘이 틀린 것이 아니라 채점의 문제라는 것을 파악할 수 있을 것이고, 그럴 경우 재채점 버튼으로 다시 시도해 볼 수 있으니 말이죠.

다만... 1번과 같은 시스템을 추가할 경우 시간 제한이 상대적으로 널널한 편인 언어로 정해가 아닌 풀이로 AC를 받는 등의 일이 더 빈번하게 생길 수도 있겠다는 생각이 듭니다.

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