我不知道交互式任务中的 stdout 有什么问题,测试系统说发生了 idleness-limit-exceeded
I dont know whats wrong with stdout in interactive task, testing system say that idleness-limit-exceeded occured
Interactor 在新行给出程序要求的答案行,但刷新有一些问题。在测试服务器上用不了,但在我的电脑上一切正常
from sys import stdin, stdout
islier = False
print('? 1')
stdout.flush()
t = int(stdin.read().rstrip('\n'))
if t == 1:
islier = True
l = 1
r = 100000
while l != r:
print('? ' + str((l + r) // 2))
stdout.flush()
t = int(stdin.read().rstrip('\n'))
if islier:
t = abs(t - 1)
if t == 1:
r = (l + r) // 2
else:
l = (l + r) // 2
print('! ' + str((l + r) // 2))
问题可能不在于冲水。在我的机器上,运行 sys.stdin.read()
阻塞了系统,这可能会导致 idleness-limit-exceeded 错误。使用 sys.stdin.readline()
因为当用户输入时将 return 输入:
t = int(stdin.readline().rstrip('\n'))
Interactor 在新行给出程序要求的答案行,但刷新有一些问题。在测试服务器上用不了,但在我的电脑上一切正常
from sys import stdin, stdout
islier = False
print('? 1')
stdout.flush()
t = int(stdin.read().rstrip('\n'))
if t == 1:
islier = True
l = 1
r = 100000
while l != r:
print('? ' + str((l + r) // 2))
stdout.flush()
t = int(stdin.read().rstrip('\n'))
if islier:
t = abs(t - 1)
if t == 1:
r = (l + r) // 2
else:
l = (l + r) // 2
print('! ' + str((l + r) // 2))
问题可能不在于冲水。在我的机器上,运行 sys.stdin.read()
阻塞了系统,这可能会导致 idleness-limit-exceeded 错误。使用 sys.stdin.readline()
因为当用户输入时将 return 输入:
t = int(stdin.readline().rstrip('\n'))