수정 내역
- 7월 14일: 소스코드 용량 제한 추가
진행 안내
NYPC 2025는 Round 1, Round 2, 본선 대회로 구성되어 진행됩니다.
Round 1
Round 1은 온라인으로 5일간 자유롭게 진행됩니다. 대회 시작과 동시에 모든 문제가 공개되며, 참가자는 마감 기한 전까지 문제를 해결하고 코드 또는 답안을 제출해야 합니다.
일정 점수 이상을 획득하면 Round 2에 참가할 수 있는 자격이 주어집니다. Round 2 진출에 필요한 점수는 Round 1 시작 전에 공지되며, 참가자는 문제 풀이 중 실시간으로 자신의 점수를 확인할 수 있습니다.
Round 1을 통과한 참가자에게는 Round 2 진출 확인서가 제공됩니다.
- 연습 문제 공개 : 8월 4일(월) 오전 10시
- Round 1 시작 : 8월 7일(목) 오전 10시
- Round 1 종료 : 8월 11일(월) 오후 11시 59분
미리 공개되는 연습 문제를 통해 대회 환경을 미리 테스트할 수 있습니다.
연습 문제의 점수는 총점에 반영되지 않으며, Round 2 진출자 선정에도 영향을 미치지 않습니다.
- 8월 11일(월) 오후 11시 59분에 채점 시스템이 종료되며, 이후에는 결과 제출이 불가능하므로 반드시 종료 시각 전에 제출해 주시기 바랍니다.
- 순위는 점수 합계가 높은 순서로 정해지며, 동점인 경우 최종 점수에 도달한 시점이 더 빠른 참가자가 우선합니다.
Round 2
Round 2는 온라인으로 진행되며, 참가자는 Round 2-A와 Round 2-B 중 원하는 일정에 참여하거나, 양일 모두 참여할 수 있습니다.
Round 2-A 또는 Round 2-B 중 하나의 라운드를 통과하면 본선 대회 참가 자격이 주어집니다. 각 라운드는 대회 시작과 함께 약 4개의 문제가 공개되며, 총 3시간 동안 진행됩니다.
- Round 2-A : 8월 17일(일) 오후 7시 ~ 10시
- Round 2-B : 8월 23일(토) 오후 2시 ~ 5시
Round 2-B 시작 전, Round 2-A 통과자가 발표될 예정입니다. 순위는 점수 합계가 높은 순으로 결정되며, 동점일 경우 최종 점수에 도달한 시간이 더 빠른 참가자가 우선합니다.
Round 2-A를 통과한 참가자도 Round 2-B에 참가할 수 있으나, Round 2-B 진출자 선발에는 영향을 미치지 않습니다.
본선 대회
Round 2를 통과한 본선 진출자들은 10월 25일(토) 넥슨코리아 판교 사옥에서 1214 부문과 1519 부문으로 나뉘어 본선 대회를 치르게 됩니다.
문제 풀이
참가자는 문제 목록과 각 문제의 배점을 확인한 후, 원하는 문제를 선택하여 읽을 수 있습니다. 문제 페이지에서 문제 설명과 조건을 확인한 뒤, 코드 또는 답안을 작성하여 제출할 수 있습니다.
- 코드는 1MiB (1048576 바이트) 이하여야합니다.
- 제출이 완료되면 자동 채점이 시작되며, 채점이 완료된 후 문제 상세 페이지에서 제출 내역과 결과를 확인할 수 있습니다.
- 답안은 여러 번 제출할 수 있으며, 문제별 최종 점수는 제출된 답안 중 가장 높은 점수가 반영됩니다.
- 점수는 정수 또는 소수점 형태로 표시되며, 소수점으로 표시되는 경우 해당 문제에서 반올림되는 자릿수가 명시됩니다.
실행 및 채점 환경
제출된 모든 코드의 실행과 채점은 다음 환경에서 이루어집니다.
- Amazon Web Services의 c7i.4xlarge 인스턴스
- Intel Xeon 4세대 기반 커스텀 프로세서
- 클럭: 3.2 GHz
- 프로세서 아키텍처: 64 bit
- OS: Ubuntu 24.04
이 환경에서 정상적으로 동작하지 않는 코드는 채점되지 않으니 유의하시기 바랍니다.
각 언어별로 사용되는 컴파일러와 구체적인 개발 환경에 대한 정보는 [개발 도구 사용 안내] 페이지를 참고하시기 바랍니다.
시간 및 메모리 제한 초과 여부는 참가자가 제출한 소스 코드가 실행된 프로세스에서 사용하는 자원을 기준으로 판단합니다.
- 시간 제한은 기본적으로 프로세스가 CPU를 점유한 시간(CPU time)을 측정합니다.
- 메모리 제한은 프로세스가 사용하는 메모리 양을 측정합니다. 이때, 사용자가 선언한 변수나 배열 외에도 언어별로 사용된 라이브러리(헤더 파일, 모듈 등)와 운영체제에서 해당 프로세스에 할당한 메모리도 포함됩니다.
- 여러 쓰레드를 활용하여 문제를 해결하는 것도 가능합니다. 단, 프로그램에는 한 개의 CPU 코어만 할당되며, 시간 및 메모리 제한을 측정할 때 모든 쓰레드의 시간 및 메모리가 합산되어 측정됩니다.
채점 결과
각 제출의 부분문제에 대해 아래와 같은 결과 중 하나가 표시되며, 문제 해결 화면 왼쪽 위의 "제출 내역"에서 제출을 클릭하면 결과를 조회할 수 있습니다. 각 결과에 대한 세부 내용은 다음과 같습니다.
- 컴파일 실패 - 제출한 소스 코드의 컴파일에 실패한 경우입니다. '컴파일 실패' 텍스트를 클릭하시면 컴파일 실패 로그를 확인할 수 있습니다.
TLE(Time Limit Exceeded) - 제출한 소스 코드의 실행 시간이 문제에 명시된 시간 제한을 초과한 경우입니다.WTLE(Wall Clock Time Limit Exceeded) - 제출한 소스 코드의 실제 실행 시간이 정해진 시간 제한을 초과한 경우입니다. 이는 프로세스가 CPU를 점유한 시간이 아닌 전체 실행 시간이 초과된 경우로, 실행 중 오류가 발생하거나 대화형(interactive) 문제에서 출력 버퍼를 flush하지 않은 경우에 발생할 수 있습니다. (대화형 문제에서 출력 버퍼를 flush하는 방법은 해당 문제의 설명에 명시되어 있습니다.)RE(Runtime Error) - 실행 중에 오류가 발생한 경우입니다. 메모리 제한을 초과한 경우에도 이 오류가 발생할 수 있습니다.IE(Internal Error) - 알 수 없는 내부 오류가 발생한 경우입니다. 이 결과를 받았다면 주최 측에 문의해 주시기 바랍니다.- (Partial Score) - 프로그램이 정상적으로 종료되었고, 출력된 답이 부분 점수를 받은 경우입니다. (부분 점수를 획득할 수 있는 문제는 해당 문제의 채점 기준에 명시되어 있습니다.)
- (Wrong Answer) - 프로그램이 정상적으로 종료되었으나, 출력된 답이 오답인 경우입니다.
- (OK) - 모든 조건을 만족하여 정답 처리된 경우입니다.
만약 같은 종류에 속하는 케이스가 서로 다른 결과를 가지는 경우, 해당 종류의 결과는 임의의 하나가 표시될 수 있습니다.
예를 들어, 같은 종류의 케이스 중 일부는 RE이고, 다른 일부는 TLE인 경우, 결과는 RE 또는 TLE 중 하나로 표시될 수 있습니다.
문제 관련 문의
- 문제 관련 문의는 문제 페이지의 질문하기 버튼을 클릭하거나, 코딩 영역에서
Ctrl + K단축키를 눌러 작성할 수 있습니다. - 질문 내용에 비속어, 욕설 등 부적절한 표현이 포함되면 실격 처리될 수 있습니다.
- 문제 풀이 관련 질문에는 답변하지 않습니다.
유효하지 않은 질문 예시
유효하지 않은 질문의 대표적인 예시는 다음과 같습니다.
"예제 입력 데이터를 넣었고 제 컴퓨터에서는 잘 나오는데 채점하니 0점이라고 나옵니다."
- 예제 입력 데이터는 문제 이해를 돕기 위해 제공되는 예제일 뿐입니다. 채점 시에는 제공된 예시 데이터 외에도 다양한 입력 데이터를 사용합니다. 참가자가 작성한 프로그램이 예제에서 잘 작동하더라도, 주최 측이 준비한 다른 채점 데이터에서는 오답이 나오거나 올바르게 동작하지 않을 수 있습니다.
"어떤 입력을 하였을 때 틀렸는지 알 수 있나요?"
- 소스 코드 제출 문제에서 사용되는 채점 입력은 공개되지 않습니다. 참가자가 문제를 잘 읽고 스스로 예상 입력을 만들어 실행 결과를 검증하는 것이 대회의 한 부분입니다.
"제 컴퓨터에서는 컴파일이 잘 되는데 제출하니 컴파일 에러라고 나옵니다."
- 참가자가 사용하는 개발 환경과 실제로 프로그램이 컴파일되고 실행되는 채점 환경은 다를 수 있습니다. [개발 도구 사용 안내] 페이지를 반드시 확인해 주세요.
답변 유형
대회 진행에 지장이 있는 사항이 아닐 때, 주최 측에서 주로 답변하는 내용은 다음과 같습니다.
문제와 관련된 질문만 가능합니다.- 질문의 성격이 벗어난 경우에 해당합니다.문제 지문에 질문에 대한 답이 있습니다.- 질문한 내용이 문제에 적힌 내용으로 충분히 답이 된다고 판단된 경우입니다.답할 수 없습니다.- 주최 측의 답변이 어떠한 방식으로든 참가자의 문제 풀이나 대회 진행에 영향을 줄 수 있다고 판단된 경우입니다.
부정행위 안내
다음과 같은 행위는 부정행위로 간주되며, 적발 시 해당 연도 결과가 무효 처리되고, 다음 해 대회 참가가 제한될 수 있습니다.
- 주최 측이 아닌 타인과 문제를 토론하거나, 외부의 도움을 받는 행위
- 웹사이트 요청 데이터를 조작하거나, 비정상적으로 다량의 요청을 보내는 등 시스템을 공격하는 행위
- 본인 계정이 아닌 타인 계정 또는 복수 계정으로 대회에 응시하는 행위
- 대회 시작 이후 제3자가 작성한 코드, 또는 대회 이전에 비공개로 관리된 코드, 참가자에게 사용 권한이 없는 코드를 제출하는 행위
- 예시 1: 해킹 등의 방법으로 얻은 코드
- 예시 2: 상용 프로그램의 리버싱(역분석) 등의 방법을 사용해 얻은 코드
- 예시 3: 기타 불법적인 방법으로 얻은 코드
- ChatGPT, Copilot, Gemini 등 AI 도구 또는 본인이 작성하지 않은 도구로 생성된 코드를 사용하는 행위
위의 행위를 포함하여 부정행위가 확인되거나 의심되는 경우, 주최 측의 판단에 따라 참가 및 수상이 언제든지 취소될 수 있습니다.
주최 측은 필요한 경우 참가자에게 문제 풀이 과정에 대해 설명을 요청할 수 있으며, 참가자는 이에 성실히 응답해야 합니다. 코드 관리 미숙으로 인해 문제가 발생한 경우에도 불이익이 발생할 수 있습니다.
아래와 같은 코드의 사용은 부정행위로 간주되지 않습니다.
- 참가자가 과거에 직접 작성한 코드
- 대회 이전에 작성되었으며, 누구나 접근 가능한 곳에 공개되어 자유롭게 사용 가능한 코드
단, 외부 코드를 사용할 경우 반드시 출처를 주석으로 명시해야 하며, 주최 측의 요청 시 정당한 사용임을 증명할 책임은 참가자에게 있습니다.
부정행위 여부를 판단하기 어려운 경우에는 반드시 주최 측에 문의해 주세요.