TopCoder

User's AC Ratio

88.4% (252/285)

Submission's AC Ratio

32.9% (518/1576)

Tags

Description

這個題目是互動題(Interactive Problem),一開始電腦會產生一個介於1和N之間的正整數K,然後你每一次可以問電腦一個數字Q。電腦會告訴你Q「小於」K,或者Q「不小於」K。最後你要回答K的數值。

很簡單吧?以下是一些可以幫助你的函式(C/C++限定):
請你先引入標頭檔"lib1044.h",然後就可以用這些函數了!


  • int Initialize():請在程式的一開始呼叫這個函式,得到N的值。

  • int Guess(int Q):每次可以猜測一個數字Q,如果回傳0,代表Q比正確答案小,如果回傳1,代表Q不小於正確答案。

  • void Report(int K):呼叫這個函式把你認為的正確答案傳回電腦。


你可以不必結束你的程式,因為Report()函式判斷完成之後會自動幫你結束程式。

因為這是測試題啦,沒有詢問限制,不過至少要在時限之內Report喔:p

Input Format

本題沒有Input,所以也請不要讀入任何東西:)

Output Format

本題沒有Output,所以也請不要輸出任何東西:)

Sample Input 1

Sample Output 1

<No Output>

Hints

一些限制:
1<=N<=2,000,000,000

一個不保證AC程式範例:

#include <stdio.h>
#include "lib1044.h"
int main(void)
{
  int n,i,j;
  n = Initialize();
  i = Guess(n);
  if(i==0)
    Report(i+1);
  else
    Report(i-1);
  return 0;
}

※2007/10/07:錯字修正,感謝akira~

Problem Source

原TIOJ1044 / 經典問題練習。Problem Setter: Tmt

Subtasks

No. Testdata Range Score
1 0 20
2 1 20
3 2 20
4 3 20
5 4 20

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 65536 262144 1
1 1000 65536 262144 2
2 1000 65536 262144 3
3 1000 65536 262144 4
4 1000 65536 262144 5