sys.stdin.readline () против input (): есть ли разница в требуемой ими памяти? - PullRequest
2 голосов
/ 14 мая 2019

Я решал вопрос о взломе . Вопрос давал ошибку «Ограничение памяти превышено» для моего решения. Когда я заменил все input() на sys.stdin.readline(), предел памяти превысил ошибки исчезли. Мне было интересно, почему это происходит. Может ли кто-нибудь объяснить причину этого различия?

Edit: Код для чтения ввода с использованием stdin.readline()

n, m, k = map(int, stdin.readline().split())

edges = []
mst = []

parent = [i for i in range(n)]
size = [1] * n

for i in range(m):
    x, y, w= map(int, stdin.readline().split())
    edges.append([w, x - 1, y - 1])

edges.sort()

Код для чтения ввода с использованием input()

n, m, k = map(int, input().split())

edges = []
mst = []

parent = [i for i in range(n)]
size = [1] * n

for i in range(m):
    x, y, w= map(int, input().split())
    edges.append([w, x - 1, y - 1])

edges.sort()
...