[22901] ko_orange

2022. 2. 15. 12:19·PS | CP/Baekjoon OJ

%2022. 2. 2 17:36에 작성된 글입니다%

 

22901번: ko_orange

당신의 출력을 즉각적으로 채점 프로그램에 전달하기 위해, 당신은 모든 출력 뒤에 출력 버퍼를 비워야 한다. 언어별로 출력 버퍼를 비우는 방법은 아래와 같다. C: fflush(stdout); C++: std::cout.flush();

www.acmicpc.net

우선 거짓 응답이 들어오지 않는다고 가정하면 \(\lceil \log_2 300\rceil = 9\)회 탐색을 진행하면 된다.
\(q=18\)의 경우 응답이 \(1\)일 때 한번 더 요청을 넣어줘서 확인하면 된다. \(2399\)의 경우에는 전부 \(1\)이니까 \(18\)번 나온다.
그 후에 관찰을 열심히 하면 발견할 수 있는 것들은:
1. 일단 응답 \(0\)은 모두 신뢰할 수 있고,
2. 응답 \(1\)의 경우에는 \(0\)인데 잘못 넘겨준 경우를 생각할 수 있는데, 그 다음 응답도 \(1\)이면 일단 \(0\)을 잘못 준 건 아니니까 신뢰할 수 있고 다음 응답이 \(0\)이면 잘못 넘겨줬을 가능성이 있다.

이제 잘 코딩하면 AC

'PS | CP/Baekjoon OJ' 카테고리의 다른 글
  • [2731] 1379와 세제곱
  • [20500] Ezreal 여눈부터 가네 ㅈㅈ
  • [2014] 소수의 곱
  • [10908] Phibonacci
SafeSpot
SafeSpot
  • SafeSpot
    SafeSpot::SafePost
    SafeSpot
    contact : me@safespot.dev
    BOJ | solved.ac | CF | Git
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • 아무거나 (11)
      • 수학 (2)
      • 프로그래밍 (1)
      • PS | CP (45)
        • CF | Atcoder (10)
        • Baekjoon OJ (35)
      • 소프트웨어 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
SafeSpot
[22901] ko_orange
상단으로

티스토리툴바