시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 (추가 시간 없음) | 512 MB (추가 메모리 없음) | 800 | 384 | 310 | 45.858% |
binary는 호남선~
num row column char에~
binary는 호남선은 총 $N$개의 0
과 1
로 표현할 수 있다. 0
은 저지대를 지나는 철로를 나타내고, 1
은 고지대를 지나는 철로를 나타낸다.
binary는 호남선의 구간은 연속된 두 개의 철로를 뜻한다. 01
은 오르막 구간, 10
은 내리막 구간, 00
과 11
은 평탄한 구간이다.
binary는 호남선의 각 구간이 어떤 구간인지 파악하고 상대적 많고 적음을 알아내는 것은, 철로의 유지보수를 위해 매우 중요한 일이다.
binary는 호남선의 철로 길이 $N$이 주어진다. ($8 \leq N < 2\ 048$)
다음을 표준 출력 스트림(stdout)으로 한 줄에 출력하여, 해당 위치의 철로가 무언인지 알아낼 수 있다.
?
$k$ : 왼쪽부터 $k$번째 철로를 출력한다. ($1 \leq k \leq N$)각 질문을 출력한 후에는 반드시 표준 출력 버퍼를 flush 해야 하고, 표준 입력 스트림(stdin)을 통해 질문에 대한 답을 입력받아야 한다. 그렇지 않으면, 시간 초과 또는 런타임에러를 받는다.
질문하는 $k$의 범위가 철로 구간을 벗어나는 경우, 틀렸습니다를 받는다.
질문은 최대 $\lfloor log_2 N \rfloor$번 할 수 있고, 이보다 더 많이 질문을 하면 틀렸습니다를 받는다.
최대 $\lfloor log_2 N \rfloor$번의 질문을 이용해, 정답을 아래의 표준 출력 스트림(stdout)을 이용해 한 번만 출력한다.
!
$a$ : binary는 호남선에서 오르막 구간의 수가 내리막 구간의 수보다 많다면 1
을, 같다면 0
을, 적다면 -1
을 출력한다.그 후 반드시 표준 출력 버퍼를 flush해야 하고, 프로그램을 종료한다. 이것은 질문 횟수에 포함되지 않는다.
4 0 0 1 1
? 1 ? 3 ? 4 ? 2 ! 1
입출력이 어떤 방식으로 이루어지는지 이해를 돕기 위해, 의도적으로 제한 조건과 줄 간격 등을 조절한 것이다. 실제 입출력 및 제한 조건과 다른 것에 유의하자.
주어진 binary는 호남선의 철로는 0101
이므로 오르막 구간이 $2$개, 내리막 구간이 $1$개 있다. 따라서 1
을 출력하면 정답이다.
출력 후에는 표준 출력 버퍼를 flush해 주어야 한다. 언어 별로 표준 출력 버퍼를 flush하는 방법은 다음과 같다.
University > 연세대학교 > 2021 연세대학교 프로그래밍 경진대회 D번