[PYTHON] Il est devenu TLE lorsque j'ai confirmé l'opération avec la fonction d'impression dans la compétition pro

Il est devenu TLE lorsque j'ai confirmé l'opération avec la fonction d'impression dans la compétition pro

exemple

J'ai en fait remarqué cela dans le problème AtCoder suivant: https://atcoder.jp/contests/abc162/tasks/abc162_c Je tournais un 200 * 200 * 200 pour déclaration.

problème

La sortie a été faite avec la fonction d'impression pour vérifier l'opération.

Code en question

J'utilise le module «temps» pour la mesure du temps.

import time
import math
k=int(input())
stat = time.time()
k+=1
ans=0
for i in range(1,k):
    for j in range(1,k):
        for z in range(1,k):
            print(i,j,k)
            print(math.gcd(math.gcd(i,j),z))
            ans+=math.gcd(math.gcd(i,j),z)
end = time.time()
print(ans)
print(end-stat) 
##k=10  =>  0.0718231201171875(s)
##k=100 => 20.816463232040405(s)

Code sans fonction d'impression

import math
import time
k=int(input())
start = time.time()
k+=1
ans=0
for i in range(1,k):
    for j in range(1,k):
        for z in range(1,k):
            ans+=math.gcd(math.gcd(i,j),z)
end = time.time()
print(ans)
print(end-start)
#k=10  => 0.0009169578552246094(s)
#k=100 => 0.4900369644165039(s)

Conclusion

Il semble que cela prend beaucoup de temps si «print» se chevauche également. Essayez-le d'abord en imprimant un peu (k = 10 cette fois) Vous devez commenter lors du calcul des commandes chronophages.

Recommended Posts

Il est devenu TLE lorsque j'ai confirmé l'opération avec la fonction d'impression dans la compétition pro
Ce que j'ai fait quand j'étais en colère de le mettre avec l'option enable-shared
J'ai défini des variables d'environnement dans Docker et je les ai affichées en Python.
Comportement lors du retour dans le bloc with
Dans IPython, quand j'ai essayé de voir la valeur, c'était un générateur, donc je l'ai inventé quand j'étais frustré.
Lorsque j'ai essayé de changer le mot de passe root avec ansible, je ne pouvais pas y accéder.
Ce que j'ai fait quand je suis resté coincé dans le délai avec lambda python
django geodjango auquel j'ai fait référence quand je suis resté coincé dans le tutoriel (édition)
Quand to_csv avec Pandas, c'est devenu ligne par ligne
Quand j'essaye matplotlib en Python, il dit 'cairo.Context'
J'ai essayé d'implémenter la fonction gamma inverse en python
Lorsque j'ai vérifié la requête générée par Django, elle a été émise en grand nombre
Lorsque j'explore la webapi qui apparaît pendant le rendu, elle a été lue avec CORS
Lorsqu'une variable locale portant le même nom que la variable globale est définie dans la fonction
J'ai posé le problème de la séquence tribonatch en C ++ et le nombre d'appels de fonction lors de l'écriture avec une fonction de récurrence (python est également disponible)
La valeur de meta lors de la spécification d'une fonction sans valeur de retour avec Dask dataframe s'applique
C'était génial d'éditer le fichier Python dans Raspberry Pi avec la fonction à distance d'Atom
J'ai aussi essayé d'imiter la fonction monade et la monade d'état avec le générateur en Python
Quand j'ai calculé les mots similaires de prudent + courageux avec word2vec, cela me semblait étonnamment raisonnable
Une histoire à laquelle j'étais accro en spécifiant nil comme argument de fonction dans Go