单点时限: 2.0 sec
内存限制: 256 MB
你想了一个数,要让我猜一猜。
big
) 或者小了 (small
) 或者正好 (equal
)。如果我在 $30$ 次之内(包括 $30$ 次)都没有猜出来,你就赢了。
我是这样猜数的:
l = -1e9
r = 1e9
while l < r:
guess a random number in [l,r] and let it be m
if it is too big:
r = m - 1
if it is too small:
l = m + 1
if it is equal:
bingo and exit
print 'You are kidding me!'
注:题目中用到的 random
是 random uniformly
。
2 -3 -1 0
big small small equal
这是一个交互题。你要先猜,输出到标准输出流 (stdout
)。对于我的回答,你要从标准输入流中读入 (stdin
)。
你需要清空缓冲区,在 C 中使用 fflush
,C++ 中使用 flush
或 endl
,在 Python 中使用 sys.stdout.flush()
。
你可能会遇到 Idleness Limit Exceeded
,这种错误表示你的程序「太闲了」。你可能在等待输入,或者只是超时了(而我并不知道,以为你闲着)。