我不知道我应该如何编写代码,以便在提交代码并输出我想要输出的内容时自动读取输入。我不明白他们的测试是如何工作的..你应该把它写成从文件或输入中读取吗?您是否应该同时接受整个输入或逐行接收?如果逐行,你怎么知道什么时候停止?
我正在解决一个简单的问题,它为包含1或2个数字的每一行做了一些事情,但问题是我不知道如何编写它以便它将通过测试。该解决方案需要大约0.1秒,但Kattis说超过了时间限制(1秒),所以我猜它不会停止读取或等待输入或类似的东西。
如果可以的话,请指出他们的测试过程是如何工作的,或者告诉我应该使用哪种方法来接受输入。
我的代码:
for line in sys.stdin.readlines():
line = line.strip("\n")
numbers = [int(number) for number in line.split()]
digitSumOnInterval(numbers[0], numbers[1])
答案 0 :(得分:0)
从查看kattis问题,尝试输入a = 0和b = 10 ** 15-1以查看是否有效(因为它们是边界)。这个问题有一个数学技巧,可以使计算速度更快。
编辑2:(Python 3)
T=input() #testcase number
for _ in xrange(T):
a,b=map(int, input().strip())
more logic
答案 1 :(得分:0)
sys.stdin适用于Kattis,问题是我的代码速度慢了。我读了这样的输入:
for line in sys.stdin:
numbers = [int(number) for number in line.split()]
if len(numbers) == 2:
a, b = numbers[0], numbers[1]
print(sumDigitsToN(b+1) - sumDigitsToN(a))