솹씨 몇 도예요?

시간 제한1초메모리 제한1024 MB

요약
샤워기 온도를 질의하면 솹북이의 체온이 질의값과 현재 체온의 중간으로 이동한다. 최대 9번의 질의로 숨은 체온을 맞힌다.
난이도

보통10점 중 5점

유형
이분 탐색, 수학
정답자
아직 제출이 없습니다

문제

이 문제는 인터랙티브 문제입니다.

ICPC Sinchon은 거북이를 한 마리 기르고 있다. 그 이름은 솹북이. 사실 솹북이는 평범한 거북이가 아니다. 어떤 온도에도 적응할 수 있는 슈퍼 변온 동물로, 영어까지 할 수 있다.

동아리원들은 매일 솹북이를 씻길 때 솹북이가 가장 좋아하는 게임인 『SUAPC 몇 도예요?』를 한다. 이는 솹북이를 위해 샤워기의 물 온도를 조절하는 게임으로 규칙은 다음과 같다.

  • 솹북이를 씻길 때 사용하는 샤워기는 물의 어는점을 −109,∘S-10^9 \\,^\circ\mathrm{S}, 끓는점을 109,∘S10^9 \\,^\circ\mathrm{S}로 정의한 솹씨(Suapc, ∘S^\circ\mathrm{S})라는 단위를 사용한다.
  • −109,∘S-10^9 \\,^\circ\mathrm{S} 초과 109,∘S10^9 \\,^\circ\mathrm{S} 미만의 원하는 온도로 샤워기를 튼다.
  • 솹북이는 샤워기의 온도가 자신의 체온보다 높다면 Hot, 낮다면 Cold, 체온과 정확히 일치한다면 SUAPC!를 외친다. 이때 샤워기의 온도를 X,∘SX \\,^\circ\mathrm{S}, 솹북이의 체온을 T,∘ST \\,^\circ\mathrm{S}라고 하면 체온에 따른 단어를 외친 이후 솹북이의 체온이 ⌊X+T2⌋,∘S\lfloor \frac{X+T}{2} \rfloor \\,^\circ\mathrm{S}로 변화한다.

솹북이는 현재 0,∘S0 \\,^\circ\mathrm{S} 이상 2,025,∘S2\\,025 \\,^\circ\mathrm{S} 이하의 체온을 유지하고 있으며 샤워기의 물 온도와 자신의 체온이 정확히 일치할 때 안정감을 느낀다. 동아리원들은 솹북이가 스트레스를 받지 않도록 최대 99번만에 적정 온도를 찾으려 한다. 오늘도 솹북이의 만족스러운 샤워를 도와주자!

입력

입력은 없다.

출력

인터랙터에게 보낼 수 있는 쿼리는 다음과 같다.

  • ? XX: 샤워기의 물 온도를 X,∘SX \\,^\circ\mathrm{S}로 조절하여 튼다. (−109<X<109)(-10^9 < X < 10^9)

쿼리의 결과는 한 줄에 주어지는 문자열 AA를 입력 받아 확인할 수 있다. AA는 Hot, Cold, SUAPC! 중 하나이다.

솹북이의 현재 체온을 알아냈다면 다음과 같이 출력하고 프로그램을 종료해야 한다. 정답을 출력하는 것은 쿼리에 포함되지 않는다.

  • ! XX: 솹북이의 현재 체온이 X,∘SX \\,^\circ\mathrm{S}라면 맞았습니다!!를 받는다. 그렇지 않으면 틀렸습니다를 받는다. (−109<X<109)(-10^9 < X < 10^9)

인터랙션에 사용되는 모든 XX는 정수여야 한다.

모든 출력 이후에는 반드시 표준 출력 버퍼를 flush해야 한다. 언어 별로 표준 출력 버퍼를 flush하는 방법은 다음과 같다.

  • C: fflush(stdout)
  • C++: std::cout << std::flush
  • Java: System.out.flush()
  • Python: sys.stdout.flush()

기타 언어의 경우 각 언어의 documentation을 참조하자.

출력 형식을 지키지 않거나 쿼리를 99번보다 많이 보낸 경우에는 예상치 못한 채점 결과를 받을 수 있음에 유의하자.

힌트

⌊−12⌋\lfloor -\frac{1}{2} \rfloor은 −1-1임에 유의하자.

예제1

  1. 예제 1

    입력
     
    Cold
    
    Hot
    
    SUAPC!
     
    
    예상 출력
    ? -1130
    
    ? 2163
    
    ? 1004
    
    ! 1004