AtCoderにPython初心者ながらPyPy3で参加しているので、仕様で詰まったところを備忘録として並べておきます。もし誰かの役に立てば幸いです。
文字列の連結が遅い
以下はべらぼうに遅い。
str = ""
for i in range(N):
str += tmpstr[i]
print(str)
こういうときはjoinを使う。
print("".join(tmpstr))
再帰の深さに上限がある
REが出ます。デフォルトは1000回。以下で好きな値に設定する。でも再帰よりDPしなきゃ。。
test.rb
import sys
sys.setrecursionlimit(N)
sys.stdin.readlineは\nを含む
N回のinput()をするときは
import sys
input = sys.stdin.readline
Ss = []
for i in range(N):
Ss.append(input())
とやるほうが速いのだが、このとき通常のinput()とは違い末尾に\nが入ってしまう。
以下のように解決する。
input().rstrip("\n")
他の問題の解答をA問題に提出する
うっかり(問題A, B, ...のページではなく)問題集ページなどから「提出」を押すと、提出先がA問題になります。これを直さずに提出すると、当たり前ですがREが出て通りません。