我不知道交互式任务中的 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'))