私はこのhttp://www.spoj.pl/problems/INOUTEST/の問題を解決しようとしていました。
入力:入力の最初の行には、1つの整数N(1≤N≤106)が含まれ、後続の行数を示します。これらの各行には、スペースで区切られた2つの整数aとb(| a |、| b |≤40,000)が含まれています。
出力:aとbのペアごとに、a×bの値を含む1行の出力を書き込みます。私のコードは17.03秒まで実行されたこれでした:
import sys
import psyco
psyco.full()
def main():
s = sys.stdin
t = int(s.readline())
for l in s:
n, m = map(int, l.split())
print n*m
if __name__ == '__main__':
main()
それから私は変わりました
t = int(s.readline())
に
t = s.readline()
16.62秒まで実行されました。これにより、文字列を整数に変換する回数が少ないほど、コードの実行速度が速くなることに気付きました。最速の解決策は約2.5秒です。私はPythonでSPOJのすべての問題を解決し、学ぼうとしているので、これに興味があります。ありがとうございました。