대회 규칙

NYPC 2019

진행

대회는 예선과 본선으로 나뉘어 열립니다. 예선은 총 20여문제가 5 회에 걸쳐 나누어 단계적으로 오픈이 되며, 문제가 오픈 된 시점부터 정해진 마감 기한 전까지 스스로 문제를 해결하여 그 코드 또는 답안을 제출하여야 합니다.

7일 대회가 시작되기 전, 연습 문제를 통해 대회에서 사용하는 환경을 미리 테스트해볼 수 있습니다. 연습 문제의 점수는 총점에 반영이 되지 않으며, 본선 진출자 선정시에도 연습 문제의 풀이 결과는 반영되지 않습니다.

각 회차에 오픈 된 문제는 예선 일정 종료 전까지 풀이가 가능 합니다. 또한 문제의 질문에 대한 답변은 예선 기간 동안 매일 저녁 7시부터 저녁 10시 사이 주로 업데이트가 되오니 참고를 부탁드리겠습니다.

예선 종료일은 8월 16일 금요일 저녁 8시입니다. 8월 16일 금요일 저녁 8시에 채점 시스템이 종료 되고 그 이후에는 결과 제출이 불가능하오니 종료 시간 전에 반드시 제출을 부탁드리겠습니다.

문제 풀이

문제의 목록과 배점을 확인하고 문제를 선택해 읽을 수 있습니다. 문제 페이지에서 문제의 설명과 조건을 확인할 수 있으며, 코드 또는 답안을 작성하고 제출할 수 있습니다.

제출이 완료되면 자동 채점이 시작되고, 자동 채점이 끝난 후 마지막 채점 결과 페이지에서 제출 내역과 결과를 확인할 수 있습니다. 여러 번 답을 제출할 수 있으며, 마지막 제출한 답이 최종 평가 기준이 됩니다.

각 문제에 대한 점수는 double 자료형에 저장되고, 출력 시 반올림되어 소수점 둘째 자리까지 표시됩니다. 최종 점수 합산시에는 저장된 점수를 double 자료형 사칙연산 규칙에 따라 처리합니다. 표시되는 점수와 실제 점수에는 차이가 있을 수 있습니다.

문제의 분류

코드 제출 문제

문제의 답안으로는 문제에서 요구하는 코드를 작성하여 제출하여야 합니다. 이러한 문제는 문제에서 요구하는 바에 대한 설명, 입력과 출력 형식, 입력과 출력 예시, 채점 규칙으로 구성됩니다.

모든 입력과 출력은 표준입출력 (standard input, standard output)으로 이루어집니다. 언어별로 표준 입력/출력을 처리하는 방법에 대해서는 [개발 도구 사용 안내] 페이지를 참고하시기 바랍니다.

코드 작성을 마무리했다면, 제출하기 버튼을 눌러 문제를 제출할 수 있습니다.

제출하는 데는 하트(♥)가 필요한데, 하트는 3분마다 하나씩 자동으로 충전되고 최대 5개까지 유지됩니다. 하트를 모두 소모했으면 기다려야 하며, 문제 정답을 맞춘 경우 하트 1개를 회복시켜 주고 있습니다.

제출이 몰릴 경우 채점이 지연될 수 있으며 마지막 제출로 최종 평가가 이루어지는 만큼, 마감 전에는 신중하게 문제를 제출해 주시기 바랍니다. 제출하지 않은 코드는 풀지 않은 것으로 간주되며 최종 평가에서 제외됩니다.

실행 및 채점 환경

코드 제출 문제에 제출된 모든 코드의 실행과 채점은 이 사이트의 환경 위에서 이루어집니다. 해당 환경에서 동작하지 않는 코드는 채점이 되지 않습니다.

OS는 Ubuntu가 구동되며, 각 언어별로 사용되는 컴파일러와 구체적인 개발 환경에 대해서는 [개발 도구 사용 안내] 페이지를 참고하시기 바랍니다.

각 문제에서 시간과 메모리 제한은 C/C++ 기준으로 책정됩니다. 그 이외의 언어에서는 시간과 메모리를 더 쓸 수 있도록 허용되는 경우가 있지만, 모든 문제를 모든 언어로 해결할 수 있다는 보장은 드리지 않습니다. 문제를 해결하는 데 계산 자원이 많이 필요하다고 판단되면 C/C++를 사용할 것을 권장합니다.

평가 규칙

중간 평가

예선 진행 도중 지금까지 획득한 점수를 언제든지 확인할 수 있습니다.

최종 평가

예선 종료 후 결과가 모두 취합되어 추후에 최종 평가 점수가 확정됩니다. 부정 행위가 적발되는 등의 상황이 발생하면, 중간 평가 점수와 최종 평가 점수는 다를 수 있습니다. 부정 행위 적발시에는 0점으로 처리되며 참가 및 수상 자격을 박탈합니다.

본선 진출자 선정

본선 진출자는 7일부터 16일까지 획득한 점수의 총 합이 가장 높은 순으로 N명을 선정하게 됩니다. 이 때, 순위는 점수 합계가 높은 순, 같은 경우 마지막 제출의 일련번호가 더 빠른 순으로 매깁니다.

부정행위

다음과 같은 행위 들은 모두 부정행위입니다. 여기서 "다른 사람"은 참가자에 한정되지 않고, 학부모와 교사 등을 포함한 대회 주최측 이외의 모든 다른 사람을 뜻합니다. 또한 참가자 1명 당 한개의 계정만 허용합니다.

위의 행위를 포함하여 주최측은 부정행위가 발견되거나 의심되는 경우 언제든지 참가 및 수상 자격을 박탈할 수 있습니다.

주최측은 필요한 경우 문제의 풀이 과정에 대해 참가자에게 물을 수 있으며, 참가자는 대답할 수 있어야 합니다.

어떤 행위가 부정행위인지 아닌지 궁금하다면 자의적으로 판단하지 않고 주최측에게 문의하여야 합니다.

외부 코드의 사용

아래와 같은 코드의 사용은 부정행위가 아닙니다.

그렇다고 하더라도, 참가자는 반드시 외부 코드의 사용을 명시하고 출처를 기입해야 합니다. 또한 대회 주최측은 필요한 경우 외부 코드의 사용에 대해 물을 수 있으며, 참가자는 외부 코드의 사용이 정당하였음을 증명할 의무를 가집니다.

다음과 같은 코드의 사용은 부정행위입니다.

이 코드를 사용해도 되는지 확신이 없다면 주최측에게 문의하여야 합니다.