通常当我必须在一行上处理多个整数时,我会执行以下操作:
line = input().split()
... work with the integers here ...
这从来不是一个问题,但现在我必须读取一行最多10 ^ 6个整数,哪一个在范围[0,10 ^ 6]。
每次向在线评委提交解决方案时,它都会给我一个运行时错误,并在错误日志中显示:
我的问题是:是否有一种通用的方法来读取部分输入并将其中的一部分留在stdin或以某种方式限制我的输入()用空格?
我在Python3文档上找不到任何内容,或者在StackOverflow上搜索它!
PS:您可以在https://www.urionlinejudge.com.br/judge/en/problems/view/1973
找到问题答案 0 :(得分:6)
使用-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// Add observer
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(shouldLogout:) name:@"shouldLogout" object:nil];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
// Remove observer by name
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"shouldLogout" object:nil];
}
来控制您一次阅读的字符数:
sys.stdin.read
断言永远不会发生。
注意:请注意,在指定尺寸时,您可能会关闭某些整数。例如,如果您对输入import sys
a = sys.stdin.read(32)
assert len(a) <= 32
read(4)
12 3456
,则可能会3
作为第二个数字3456
。
还要注意性能问题。