NYPC 2024는 작년과 동일하게 Round 1, Round 2, 본선 대회로 나뉘어 진행됩니다.
Round 1
Round 1은 온라인으로 5일간 자유롭게 진행됩니다. 대회 시작과 동시에 모든 문제가 공개되며, 참가자는 정해진 마감 기한 전까지 문제를 해결하여 코드나 답안을 제출해야 합니다. 일정 점수 이상을 획득하면 Round 2에 참가할 자격이 주어집니다. Round 2 진출에 필요한 점수는 Round 1 시작 전에 공지될 예정이며, 문제 풀이 과정에서 참가자는 실시간으로 자신의 점수를 확인할 수 있습니다. Round 1을 통과한 참가자에게는 Round 2 진출 확인서가 제공됩니다.
Round 1 시작 전에, 8월 6일에 공개되는 연습 문제를 통해 대회에서 사용하는 환경을 미리 테스트할 수 있습니다. 연습 문제의 점수는 총점에 반영되지 않으며, Round 2 진출자 선정에도 연습 문제의 풀이 결과는 포함되지 않습니다.
Round 2
Round 2는 온라인으로 진행되며, 참가자는 2-A와 2-B 중 원하는 일정(*양일 모두 참가 가능)에 도전하여 제한된 시간 내에 문제 풀이를 진행할 수 있습니다.
Round 2-A 또는 Round 2-B 중 하나의 라운드를 통과하면 본선 대회에 참가할 수 있습니다. 각 라운드는 대회 시작과 함께 약 4개의 문제가 공개되며, 3시간 동안 진행됩니다. Round 2-B 시작 전에 Round 2-A 통과자가 발표될 예정입니다.
본선 대회
참가자는 문제 목록과 배점을 확인한 후, 선택한 문제를 읽을 수 있습니다. 문제 페이지에서는 문제의 설명과 조건을 확인하고, 코드 또는 답안을 작성하여 제출할 수 있습니다.
제출이 완료되면 자동 채점이 시작되며, 채점이 완료된 후 문제 상세
페이지에서 제출 내역과 결과를 확인할 수 있습니다. 답안을 여러 번 제출할 수 있으며, 최종 점수는 제출된 답안 중 가장 높은 점수가 반영됩니다.
채점 결과 점수는 정수 또는 소수점 형태로 표시되며, 소수점으로 표시될 경우 해당 문제에서 반올림되는 자릿수가 명시됩니다.
소스 코드 제출
- 이 유형의 문제는 테스트케이스 종류별로 요구하는 조건을 정확히 만족시켜야만 해당 테스트케이스가 맞은 것으로 간주됩니다. 최적의 답이 아닐 경우에도 부분 점수가 주어질 수 있는 문제도 포함됩니다. 구체적인 채점 규칙은 문제마다 다르며, 문제 내에 상세히 명시되어 있습니다.실행 결과 제출
- 소스 코드가 아닌 실행 결과만 제출하는 문제입니다. 꼭 프로그래밍으로 풀지 않아도 되며, 정답만 제출하면 됩니다. 소스 코드를 제출하지 않도록 주의해주시기 바랍니다. 또한, Round 1의 일부 문제에는 문제 풀이를 돕기 위한 시뮬레이터가 제공될 수 있습니다.메모장
프로그램을 사용할 경우, 인코딩이 깨지는 문제가 발생할 수 있으니 주의해주시기 바랍니다.문제의 답안으로는 문제에서 요구하는 코드를 작성하여 제출해야 합니다. 이러한 문제는 요구 사항 설명, 입력과 출력 형식, 입력과 출력 예시, 그리고 채점 규칙으로 구성됩니다.
모든 입력과 출력은 표준입출력(standard input, standard output)을 통해 이루어집니다. 언어별로 표준 입출력을 처리하는 방법에 대해서는 [개발 도구 사용 안내] 페이지를 참고하시기 바랍니다.
코드 작성을 완료했다면, 제출
버튼을 눌러 답안을 제출할 수 있습니다.
제출하지 않은 코드는 풀지 않은 것으로 간주되며, 최종 평가에서 제외됩니다. 제출이 집중될 경우 채점이 지연될 수 있으니 유의하시기 바랍니다.
소스 코드 제출 문제에서 제출된 모든 코드의 실행과 채점은 이 사이트의 환경에서 이루어집니다. 이 환경에서 정상적으로 동작하지 않는 코드는 채점되지 않으니 유의하시기 바랍니다.
OS는 Ubuntu가 사용되며, 각 언어별로 사용되는 컴파일러와 구체적인 개발 환경에 대한 정보는 [개발 도구 사용 안내] 페이지를 참고하시기 바랍니다.
시간 및 메모리 제한 초과 여부는 참가자가 제출한 소스 코드가 실행된 프로세스에서 사용하는 자원을 기준으로 판단합니다.
각 문제의 시간 및 메모리 제한은 C/C++을 기준으로 설정됩니다. 다른 언어를 사용할 경우, 시간과 메모리 사용이 다소 유연하게 허용될 수 있지만, 모든 문제를 모든 언어로 해결할 수 있다는 보장은 없습니다. 계산 자원이 많이 필요한 문제를 해결할 때는 C/C++ 사용을 권장합니다.
각 케이스 종류(또는 미션)마다 아래의 결과 중 하나가 나올 수 있으며, 각 결과에 대한 세부 내용은 다음과 같습니다.
IE
(Internal Error) - 알 수 없는 내부 오류가 발생한 경우입니다. 이 결과를 받았다면 주최 측에 문의해 주시기 바랍니다.TLE
(Time Limit Exceeded) - 제출한 소스 코드의 실행 시간이 문제에 명시된 시간 제한을 초과한 경우입니다.WTLE
(Wall Clock Time Limit Exceeded) - 제출한 소스 코드의 실제 실행 시간이 정해진 시간 제한을 초과한 경우입니다. 이는 프로세스가 CPU를 점유한 시간이 아닌 전체 실행 시간이 초과된 경우로, 실행 중 오류가 발생하거나 대화형(interactive) 문제에서 출력 버퍼를 flush하지 않은 경우에 발생할 수 있습니다. (대화형 문제에서 출력 버퍼를 flush 하는 방법은 해당 문제의 설명에 명시되어 있습니다.)RE
(Runtime Error) - 실행 중에 오류가 발생한 경우입니다. 메모리 제한을 초과한 경우에도 이 오류가 발생할 수 있습니다.WA
(Wrong Answer) - 프로그램이 정상적으로 종료되었으나, 출력된 답이 오답인 경우입니다.PARTIAL
(Partial Score) - 프로그램이 정상적으로 종료되었고, 출력된 답이 부분 점수를 획득한 경우입니다. (부분 점수를 획득할 수 있는 문제는 문제 채점 규칙 설명에 명시됩니다.)OK
(OK) - 프로그램이 정상적으로 종료되었고, 출력된 답이 정답인 경우입니다.만약 같은 종류에 속하는 케이스가 서로 다른 결과를 가지는 경우, 해당 종류의 결과는 임의의 하나가 표시될 수 있습니다. 예를 들어, 같은 종류의 케이스 중 일부는 WA이고, 다른 일부는 TLE인 경우, 결과는 WA 또는 TLE 중 하나로 표시될 수 있습니다.
문제에 틀린 내용이 있는 경우나 알 수 없는 내부 오류 등 대회 진행에 지장이 있는 경우 문제 내의 질문하기 기능을 통해 문의할 수 있습니다.
대회 중 질문 내용에 비속어, 욕설 등이 포함되어 있으면 실격 처리될 수 있으니 주의해 주시기 바랍니다. NYPC는 모든 참가자에게 공평한 대회를 지향하므로, 문제 풀이에 대한 질문에는 답변을 드릴 수 없습니다. 질문/답변의 의도에서 크게 벗어난 질문은 답변을 받지 못할 수 있습니다.
아래와 같은 질문 유형은 대표적으로 유효하지 않은 질문에 해당합니다.
"예제 입력 데이터를 넣었고 제 컴퓨터에서는 잘 나오는데 채점하니 0점이라고 나옵니다."
"어떤 입력을 하였을 때 틀렸는지 알 수 있나요?"
"제 컴퓨터에서는 컴파일이 잘 되는데 제출하니 컴파일 에러라고 나옵니다."
대회 진행에 지장이 있는 사항이 아닐 때, 주최 측에서 주로 답변하는 내용은 다음과 같습니다.
문제와 관련된 질문만 가능합니다.
- 질문의 성격이 벗어난 경우에 해당합니다.문제 지문에 질문에 대한 답이 있습니다.
- 질문한 내용이 문제에 적힌 내용으로 충분히 답이 된다고 판단된 경우입니다.답할 수 없습니다.
- 영어로는 "No comment"에 해당하며, 주최 측의 답변이 어떠한 방식으로든 참가자의 문제 풀이나 대회 진행에 영향을 줄 수 있다고 판단된 경우입니다.Round 1 진행 중에는 지금까지 획득한 점수를 언제든지 확인할 수 있습니다. Round 1 종료 후, 결과가 취합되어 최종 평가 점수가 확정되며, 일정 점수 이상을 획득한 참가자는 Round 2에 진출할 기회를 얻습니다.
Round 2-A와 Round 2-B 진행 중에도 지금까지 획득한 점수를 언제든지 확인할 수 있습니다. Round 2-A와 2-B가 종료된 후, 결과가 취합되어 최종 평가 점수가 확정되며, 상위권에 속한 참가자는 본선에 진출할 기회를 얻습니다.
다음과 같은 행위는 부정행위로 간주되며, 부정행위 적발 시 내년 대회 참가가 불가합니다.
위의 행위를 포함하여 부정행위가 발견되거나 의심되는 경우 주최 측의 판단에 따라 언제든지 참가 및 수상이 취소될 수 있습니다.
주최 측은 필요한 경우 문제 풀이 과정에 대해 참가자에게 질문할 수 있으며, 참가자는 이에 응답해야 합니다. 또한, 본인의 코드 관리 미숙으로 인해 문제가 발생할 경우, 불이익을 받을 수 있습니다.
어떤 행위가 부정행위인지 궁금하다면 자의적으로 판단하지 말고, 반드시 주최 측에게 문의하시기 바랍니다.
아래와 같은 코드의 사용은 부정행위로 간주되지 않습니다.
위의 경우에도 참가자는 반드시 외부 코드 사용을 명시하고, 출처를 코드에 주석으로 기재해야 합니다. 주최 측은 필요한 경우 외부 코드 사용에 관해 질문할 수 있으며, 참가자는 외부 코드 사용이 정당했음을 증명할 의무가 있습니다.
다음과 같은 코드의 사용은 부정행위로 간주될 수 있습니다.
특정 코드를 사용해도 되는지 확신이 없는 경우, 반드시 주최 측에게 문의해야 합니다.