[PYTHON] AtCoderBeginnerContest174 Review & Summary (premier semestre)

AtCoder ABC174 Ceci est un résumé des problèmes du concours AtCoder Beginner Contest 174, qui s'est tenu le 2020-08-02 (dimanche), dans l'ordre du problème A, en tenant compte de la considération. La première moitié traite des problèmes jusqu'à ABC. Le problème est cité, mais veuillez consulter la page du concours pour plus de détails. Cliquez ici pour la page du concours Commentaire officiel PDF

Problème A Climatiseur

Énoncé du problème Vous n'activez le refroidissement que lorsque et seulement lorsque la température ambiante est supérieure à 30 $. La température ambiante actuelle est de $ X $ degrés. Voulez-vous activer le refroidissement? Sortie Sortez «Oui» si vous activez le refroidissement et «Non» si vous ne le faites pas.

abc174a.py


x = int(input())
if x >= 30:
    print("Yes")
else:
    print("No")

Problème B Distance

Énoncé du problème Il y a des points $ N $ sur le plan de dimension $ 2 $. Les coordonnées du $ i $ ème point sont $ (X_i, Y_i) $. Combien de ces points sont à moins de $ D $ de l'origine? La distance entre le point à la coordonnée $ (p, q) $ et l'origine est représentée par $ \ sqrt {p ^ 2 + q ^ 2} $.

Je n'aime pas l'erreur dans le calcul de la racine carrée, j'ai donc utilisé $ p ^ 2 + q ^ 2 \ leqq D ^ 2 $, qui est le carré des deux côtés de $ \ sqrt {p ^ 2 + q ^ 2} \ leqq D $. Le jugement a été rendu.

abc174b.py


n, d = map(int, input().split())
d = d * d
count = 0
for i in range(n):
    x, y = map(int, input().split())
    if x * x + y * y <= d:
        count+= 1
print(count)

Problème C Repsept

Énoncé du problème Takahashi aime les multiples de $ K $ et 7 $. Combien d'éléments les multiples de $ K $ apparaissent pour la première fois dans la séquence $ 7,77,777,… $? S'il n'existe pas, affichez "-1" à la place.

J'ai eu du mal. J'ai vite compris qu'il n'y avait pas de multiples de 5 $ et 2 $, mais personnellement j'ai trouvé cela difficile. J'ai passé beaucoup de temps à étudier les propriétés de Repunit. Mon interprétation personnelle est que la séquence $ 7,77,777,… $ a le premier terme $ a_1 = 7 $. a_{n+1}=10a_n+7 Cela peut être exprimé par. Cela peut être résolu en considérant la séquence de nombres dans $ mod K $. Par exemple, lorsque $ K = 9 $ Le reste de la séquence de 7,77 777 $,… $ divisé par 9 $ est de 7,5,3,1,8,6,4,2,0,7 $, et l'élément de 9 $ est un multiple de 9 $. On peut voir que c'est le cas. Soit cette séquence de nombres $ b_n $. Par exemple, en se concentrant sur l'élément $ 3 $, le reste de la division de 777 $ $ par 9 $ $ peut être calculé par $ b_3 \ equiv 10b_2 + 7 (mod 9) $, donc s'il y a un multiple de $ K $, ce sera la première fois. Puisqu'il apparaît au moins une fois entre le terme et l'élément $ K $ (car le reste divisé par $ K $ est $ 0 \ leqq x \ leqq K-1 $), le reste est $ 0 $ dans cette plage. S'il apparaît, il sort, et s'il n'apparaît pas, il sort'-1 '. Dans l'implémentation, à partir de $ b_ {n + 1} \ equiv 10b_n + 7 (mod K) $, si $ K $ est un multiple de $ 5 $ ou un multiple de $ 2 $, ce sera $ b_n \ equiv 7 (mod K) $. Par conséquent, nous avons divisé les cas là-bas et l'avons implémenté pour que la boucle soit répétée jusqu'à ce qu'une réponse soit donnée car elle existe toujours dans d'autres cas.

abc174c.py


k = int(input())
if k % 2 == 0 or k % 5 == 0:
    print(-1)
else:
    c = 7
    count = 1
    while True:
        if c % k == 0:
            print(count)
            break
        else:
            c = (10 * c + 7) % k
            count += 1

C'est la fin du premier semestre. Récemment, le commentaire officiel a été décrit très soigneusement, donc j'espère que vous pourrez vous y référer pour la solution détaillée. Merci d'avoir lu jusqu'à la fin du premier semestre.

La seconde moitié expliquera le problème DEF. Suite au deuxième semestre.

Recommended Posts

AtCoderBeginnerContest175 Review & Summary (premier semestre)
AtCoderBeginnerContest164 Review & Summary (premier semestre)
AtCoderBeginnerContest169 Review & Summary (premier semestre)
AtCoderBeginnerContest174 Review & Summary (premier semestre)
AtCoderBeginnerContest173 Review & Summary (First Half)
AtCoderBeginnerContest165 Review & Summary (premier semestre)
AtCoderBeginnerContest170 Review & Summary (premier semestre)
AtCoderBeginnerContest167 Review & Summary (premier semestre)
AtCoderBeginnerContest177 Review & Résumé (premier semestre)
AtCoderBeginnerContest168 Review & Summary (premier semestre)
AtCoderBeginnerContest178 Review & Summary (premier semestre)
AtCoderBeginnerContest171 Review & Summary (premier semestre)
AtCoderBeginnerContest166 Review & Summary (premier semestre)
AtCoderBeginnerContest161 Review & Summary (premier semestre)
AtCoderBeginnerContest172 Review & Summary (premier semestre)
AtCoderBeginnerContest176 Review & Summary (premier semestre)
AtCoderBeginnerContest178 Review & Summary (second semestre)
AtCoderBeginnerContest176 Review & Summary (second semestre)
AtCoderBeginnerContest168 Review & Summary (second semestre)
AtCoderBeginnerContest169 Review & Summary (second semestre)
AtCoderBeginnerContest166 Review & Summary (second semestre)
AtCoderBeginnerContest171 Review & Summary (second semestre)
AtCoderBeginnerContest174 Review & Summary (second semestre)
AtCoderBeginnerContest173 Review & Summary (second semestre)
AtCoderBeginnerContest177 Review & Summary (second semestre)
AtCoderBeginnerContest180 Examen et résumé
AtCoderBeginnerContest181 Examen et résumé
AtCoderBeginnerContest182 Examen et résumé
AtCoderBeginnerContest183 Review & Résumé
AtCoderBeginnerContest179 Review & Résumé
Résumé du didacticiel Django Girls Première moitié
AtCoder Revue des questions précédentes (première moitié de 12 / 8,9)