- 안내
- 문제 안내
문제 안내
공지사항
- "~해야 합니다", "~안됩니다"는 필수를 의미합니다.
- "좋습니다"는 권장을 의미하며, 꼭 지키지 않아도 됩니다.
문제 스타일
- 문제의 문단은
<p>
를 사용해야 합니다.<br>
을 사용해서 문단을 구분하면 안됩니다. - 문제에 빈 줄을 삽입하면 안됩니다. 두 문단 사이에 빈 줄이 있거나, 문제의 마지막 문단 밑에 빈 줄이 있으면 안됩니다.
- 글자 크기를 변경하면 안됩니다.
- 특별한 경우가 아니면 문단 정렬을 변경하면 안됩니다.
- 글꼴을 변경하면 안됩니다.
margin
,padding
등의 속성을 추가하면 안됩니다.^
,_
대신<sup>
,<sub>
태그를 사용해야 합니다. 에디터에서 , 버튼을 이용해 적용할 수 있습니다.- 2^20 → 220
- a_i → ai
- 알파벳
l
은 구분하기 어려울 수도 있으니,ℓ
를 사용하는 것이 좋습니다. - 순서 없는 목록은
<ul>
, 순서 있는 목록은<ol>
을 이용해야 합니다. 에디터에서 , 버튼을 이용해 적용할 수 있습니다. - 변수에 이탤릭체(
<em>
)를 적용하면, 다른 알파벳과 쉽게 구분할 수 있습니다. 에디터에서 버튼을 이용하면 적용할 수 있습니다.- 첫째 줄에 N이 주어진다. → 첫째 줄에 N이 주어진다.
- 1 ≤ N ≤ 100,000 → 1 ≤ N ≤ 100,000
- 둘째 줄에 A1, A2, ..., AN이 주어진다. → 둘째 줄에 A1, A2, ..., AN이 주어진다.
""
안에는<code>
태그를 적용하는 것이 좋습니다.- 불가능한 경우에는 "Impossible"을 출력한다. → 불가능한 경우에는 "
Impossible
"을 출력한다.
- 불가능한 경우에는 "Impossible"을 출력한다. → 불가능한 경우에는 "
- 제한을 괄호 안에 삽입할 때는, 여는 괄호의 다음과 닫는 괄호의 이전에 공백을 삽입하지 않아야 합니다.
- ( 1 ≤ N ≤ 100 ) → (1 ≤ N ≤ 100)
- (1 ≤ N ≤ 100 ) → (1 ≤ N ≤ 100)
- ( 1 ≤ N ≤ 100) → (1 ≤ N ≤ 100)
- 부등호, 등호와 같은 수학 기호의 앞과 뒤에는 공백을 한 칸 삽입해야 합니다.
- 1≤N≤100 → 1 ≤ N ≤ 100
- 그림은 가운데 정렬을 사용하는 것이 좋습니다. 에디터에서 버튼을 이용하면 가운데 정렬이 됩니다.
- 입력으로 문자가 주어지는 경우에는
<code>
을 이용해 나타내는 것이 좋습니다.- 입력으로 주어지는 문자열은
A
,B
,C
로만 이루어져 있다.
- 입력으로 주어지는 문자열은
내용 및 문체
- 차별, 혐오가 담긴 내용은 문제에 적힐 수 없습니다.
- 번역체는 사용하지 않는 것이 좋습니다.
- 입력으로 주어지는 데이터는 문제의 조건을 만족하고 있음이 보장된다. → 입력으로 주어지는 데이터는 문제의 조건을 만족한다.
- 입력으로 주어지는 데이터는 다음 조건을 만족한다고 가정해도 된다. → 입력으로 주어지는 데이터는 다음 조건을 만족한다.
- 팀 A의 능력치는 팀 B의 그것보다 크다. → 팀 A는 팀 B보다 능력치가 크다.
- 예시 추가 예정
Mathjax
- 다음과 같은 경우에 Mathjax를 사용하는 것이 좋습니다.
- \(x_i = x_{\lfloor i - \sqrt{i} \rfloor} + x_{\lfloor \ln{(i)} \rfloor} + x_{\lfloor i \sin^{2}{(i)} \rfloor}\)
- \(p(n) = \begin{cases} 0 & \text{if } n = 1 \\ -1 & \text{if } n \text{ is a prime number} \\ O(n) & \text {otherwise} \end{cases}\)
- \(\varphi (a,b)= ( \sum _{ k=a }^{ b }{ p(k) } ) - (b-a+1)\)
- \(\begin{vmatrix} a_{ 11 }x_{ 1 }+a_{ 12 }x_{ 2 }+a_{ 13 }x_{ 3 }=b_{ 1 } \\ a_{ 21 }x_{ 1 }+a_{ 22 }x_{ 2 }+a_{ 23 }x_{ 3 }=b_{ 2 } \\ a_{ 31 }x_{ 1 }+a_{ 32 }x_{ 2 }+a_{ 33 }x_{ 3 }=b_{ 3 } \end{vmatrix}\)
- \(\frac{5}{4} - \frac{9}{12} = \frac{-4}{-8} = \frac{4}{8} = \frac{1}{2}\)
- \(D_n = \begin{vmatrix} \text{gcd}\left(x_1,x_1\right) & \text{gcd}\left(x_1,x_2\right) & \text{gcd}\left(x_1,x_3\right) & \dots & \text{gcd}\left(x_1,x_n\right) \\ \text{gcd}\left(x_2,x_1\right) & \text{gcd}\left(x_2,x_2\right) & \text{gcd}\left(x_2,x_3\right) & \dots & \text{gcd}\left(x_2,x_n\right) \\ \text{gcd}\left(x_3,x_1\right) & \text{gcd}\left(x_3,x_2\right) & \text{gcd}\left(x_3,x_3\right) & \dots & \text{gcd}\left(x_3,x_n\right) \\ \dots & \dots & \dots & \dots & \dots \\ \text{gcd}\left(x_n,x_1\right) & \text{gcd}\left(x_n,x_2\right) & \text{gcd}\left(x_n,x_3\right) & \dots & \text{gcd}\left(x_n,x_n\right) \\ \end{vmatrix}\)
- \[e=\sum_{i=0}^{n} {\frac{1}{i!}}\]
- \[S_{n} =\sum _{ k=1 }^{ n }{ \left[ \frac{(3k+6)!+1}{3k+7}-\left[ \frac{(3k+6)!}{3k+7} \right] \right] } \]
기호
<=
,>=
,!=
대신≤
,≥
,≠
를 사용해야 합니다.- 1 <= N <= 100 → 1 ≤ N ≤ 100
- a != b → a ≠ b
- 곱하기를 표현할 때,
*
대신×
를 사용해야 합니다.- 3*4 = 12 → 3×4 = 12
- floor는
⌊⌋
, ceil은⌈⌉
을 사용해서 나타낼 수 있습니다.- ⌈3.4⌉
- ⌊2.5⌋
- 집합은
∈
,∉
,⊂
,∅
,⊄
,⊆
와 같은 기호를 이용해 나타낼 수 있습니다. $
는 Mathjax를 사용할 때 사용해야 하기 때문에,\$
를 이용해야 합니다.- 모든 이미지는 에디터로 업로드해야 합니다.
수
- 수와 숫자를 헷갈리면 안됩니다. 수는 number, 숫자는 digit입니다.
- 첫째 줄에 숫자 N(1 ≤ N ≤ 100)이 주어진다. → 첫째 줄에 정수 N(1 ≤ N ≤ 100)이 주어진다.
- 자연수(Natural number)보다 양의 정수(positive integer), 음이 아닌 정수(non-negative integer)를 사용하는 것이 좋습니다.
- 음수를 나타낼 때,
- 1
와 같이 부호와 수 사이에 공백을 삽입하면 안됩니다.- - 1 ≤ x ≤ 1 → -1 ≤ x ≤ 1
- 자릿수를 구분할 때는
,
을 이용해서 구분해야 합니다.- -1000000 ≤ x ≤ 1000000 → -1,000,000 ≤ x ≤ 1,000,000
- -1 000 000 ≤ x ≤ 1 000 000 → -1,000,000 ≤ x ≤ 1,000,000
- -1, 000, 000 ≤ x ≤ 1, 000, 000 → -1,000,000 ≤ x ≤ 1,000,000
- 1e4, 1e6, 1e-9 대신 104, 106, 10-9와 같은 표현을 사용해야 합니다.
- 소수점 형태의 실수가 주어지는 경우에는 소수점 자릿수가 문제에 써있어야 합니다.
- 수의 범위를 나타낼 때,
int
범위, 32비트 부호 있는 정수와 같은 표현은 사용하지 않습니다. 명확한 정수로 표현해야 합니다.- N은
int
범위이다. → N은 -2,147,483,648보다 크거나 같고, 2,147,483,647보다 작거나 같은 정수이다.- 위의 표현 보다는 "-2,147,483,648 ≤ N ≤ 2,147,483,647"와 같은 표현이 좋습니다.
- N은
- 수의 범위를 나타낼 때 물결(
~
)을 사용하면 안됩니다.
제한
- 시간 제한의 단위는 ms이고, [100,30000]에 포함되는 정수입니다.
- 메모리 제한의 단위는 MB이고, [16,1536]에 포함되는 정수입니다.
- 언어별 추가 시간은 되도록 "추가 시간 있음"을 선택해주세요.
- "추가 시간 없음"을 선택하는 경우에는 C++, Java, Python으로 검증이 되어 있어야 합니다.
- 시간 측정은 되도록 "수행 시간의 최댓값"을 선택해주세요.
- "수행 시간의 합"을 선택하는 경우에는 이유가 필요합니다.
- N ≤ 10,000인 경우 O(N2)을 시간 제한으로 막는 것은 거의 불가능합니다. N을 크게 키우는 방법을 사용해주세요.
- 메모리 제한을 이용해 특정 솔루션을 막는 것도 거의 불가능합니다. 다른 방법을 생각해봐야 합니다.
예제
- 여러가지 형태의 정답이 가능한 경우, 예제로 모두 보여주는 것이 좋습니다.
- 첫째 줄에 집까지 가는 거리의 최솟값을 출력한다. 단, 집까지 갈 수 없는 경우에는 -1을 출력한다.
이 경우 최솟값을 구하는 예제, -1을 출력하는 예제가 모두 필요
- 첫째 줄에 집까지 가는 거리의 최솟값을 출력한다. 단, 집까지 갈 수 없는 경우에는 -1을 출력한다.
- C++에서
int
를 사용했을 때 Integer Overflow가 발생할 수 있으면, 그러한 입력을 예제에 추가하거나 문제에 이를 명시해야 합니다. - 정답이 나머지 연산의 결과인 경우, 나머지 연산을 사용하지 않으면 틀리는 경우도 예제에 추가해야 합니다.
- 모든 예제 입력과 출력은 줄 바꿈(
\n
)으로 끝나야 합니다. 아래 예시에서 살펴보세요. - 모든 줄에 PHP 함수
trim
을 자동으로 적용합니다.
올바르지 않은 예시는 두 번째 줄의 뒤에 공백이 한 칸 있고, 줄 바꿈도 없습니다.
문제
- 의미없는 괄호는 사용하지 않는 것이 좋습니다.
- 두 도시 A와 B사이에는 도로가 존재한다. (단, A와 B 사이에 도로가 여러개 존재할 수도 있다.)
↓
두 도시 A와 B사이에는 도로가 존재한다. 단, A와 B 사이에 도로가 여러개 존재할 수도 있다.
- 두 도시 A와 B사이에는 도로가 존재한다. (단, A와 B 사이에 도로가 여러개 존재할 수도 있다.)
- 한글, 한자와 같이 ASCII문자가 아닌 문자를 출력하는 문제는 채점이 되지 않을 수도 있습니다.
데이터
- 파일명은 알파벳 대문자 (
A
,B
, ...,Z
), 알파벳 소문자 (a
,b
, ...,z
),-
,_
, 숫자 (0
,1
, ...,9
)로만 이루어져 있어야 합니다.
정규표현식으로 나타내면 파일명은[A-Za-z0-9-_]+
와 매치될 수 있어야 합니다. - 서브태스크 문제의 데이터 파일명은
subtask%d-
로 시작해야 합니다. 여기서%d
는 서브태스크 번호입니다.subtask1-data.in
,subtask2-data-4.in
는 각각 올바른 서브태스크 1의 데이터 파일 이름, 서브태스크 2의 데이터 파일 이름 입니다. - 문제에 추가된 예제는 자동으로 데이터에 추가됩니다. 채점에서 제외하려면 문제 탭에서 "예제 채점"을 제외로 설정해야 합니다.
- 파일명이
sample
로 시작하면 안됩니다. - 입력 파일의 확장자는
in
입니다.- 확장자가 없는 파일의 확장자는
in
으로 변경됩니다.
- 확장자가 없는 파일의 확장자는
- 출력 파일의 확장자는
out
입니다.- 확장자가
sol
,a
인 파일의 확장자는out
으로 변경됩니다.
- 확장자가
- 입력 파일과 확장자만 다른 파일이 그 입력 파일에 해당하는 출력 파일 입니다.
- 입력 파일
data.in
에 대응하는 출력 파일은data.out
입니다. - 입력 파일
data-3.in
에 대응하는 출력 파일은data-3.out
입니다.
- 입력 파일
- 파일명은 대/소문자를 구분합니다.
data.in
과Data.in
은 다른 파일입니다.
- 의미없는 공백이 줄의 뒷 쪽에 있으면 안됩니다.
"
는 공백을 보기 위해 삽입한 기호입니다. - 데이터의 모든 줄은 줄 바꿈(
\n
)으로 끝나야 합니다. - 줄 바꿈을
\n
,\r
,\r\n
중에서 어떤 것으로 사용할지 신경쓰지 않아도 됩니다. 데이터 업로드 시에 자동으로\n
으로 바꿉니다. - 모든 줄에 Python 메소드
str.strip
을 자동으로 적용합니다. - 데이터 파일은 UTF-8로 인코딩 되어 있어야 합니다.
- 데이터 파일의 크기 제한은 없지만, 이 사이트를 통해서 업로드할 수 있는 파일 크기의 최댓값은 200MB 입니다.
스페셜 저지
- 스페셜 저지는 테스트 메뉴에서 추가할 수 있습니다.
- 채점 구현 안내를 참고해 주세요.
에디터 팁
- 붙여넣기
- 는 포맷 없이 글씨만 붙여넣기 할 수 있는 버튼입니다.
- 단축키 : ⌘+⇧+V
- 는 포맷 없이 글씨만 붙여넣기 할 수 있는 버튼입니다.
- 이미지
- 를 클릭하면 이미지를 업로드 할 수 있습니다.
- 는 사용하지 말아주세요.
- 이미지를 더블 클릭하면 그림 크기를 변경할 수 있습니다.
- 여기서
클릭하면 이미지 크기를 구할 수 있습니다.
을 클릭하면 width, height를 원본 비율에 맞춰서 조절할 수 있습니다.
- 포맷
- 을 이용해 스타일을 모두 제거할 수 있습니다. 다른 프로그램에서 복사/붙여넣기를 했을 때, 같이 붙여넣기 된 스타일을 제거할 때 사용합니다.
- 태그:
<strong>
- 단축키 : Ctrl+B / ⌘+B
- 예시 : 굵은 글씨
- 태그:
- 태그:
<em>
- 단축키 : Ctrl+I / ⌘+I
- 예시 : 기울인 글씨
- 태그:
- 태그:
<u>
- 단축키 : Ctrl+U / ⌘+U
- 예시 : 밑 줄
- 태그:
- 태그:
<s>
- 예시 :
취소선
- 태그:
- 태그:
<sup>
- 예시 : 230
- 태그:
- 태그:
<sub>
- 예시 : Ai
- 태그:
<code>
태그는 스타일 →Computer Code
를 눌러 적용할 수 있습니다.<pre>
태그는 본문 → 정형 문단을 눌러 적용할 수 있습니다.