[PYTHON] AtCoderBeginnerContest178 Review & Summary (premier semestre)

AtCoder ABC178 Ceci est un résumé des problèmes du concours AtCoder Beginner Contest 178 qui a eu lieu le 13/09/2020 (dimanche), en commençant par le problème A et en tenant compte des considérations. 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

Un problème non

Énoncé du problème Un entier $ x $ entre $ 0 $ et $ 1 $ est donné. Sortie $ 1 $ si $ x $ est $ 0 $, et sortie $ 0 $ si $ 1 $.

Quand je l'ai soumis, j'avais peur qu'il y ait plusieurs cas de test, mais c'était "AC". Case02 ~ 09 est-il également nécessaire?

abc178a.py


x = int(input())
print(1 - x)

Problème B Produit Max

Énoncé du problème Compte tenu des entiers $ a, b, c, d $. Quelle est la valeur maximale de $ x × y $ pour les entiers $ x, y $ qui satisfont $ a \ leq x \ leq b, c \ leq y \ leq d $?

Si $ x et y $ ne peuvent avoir que des signes différents, la valeur maximale est $ a × d $ ou $ c × b $. Si $ x et y $ ont le même signe, la valeur maximale est $ a × c $ ou $ b × d $.

abc178b.py


a, b, c, d = map(int, input().split())
print(max(a * c, b * d, a * d, c * b))

Problème C Ubiquity

Énoncé du problème Combien de colonnes d'entiers $ A_1, A_2,…, A_N $ de longueur $ N $ remplissent toutes les conditions suivantes? ・ $ 0 \ leq A_i \ leq 9 $ ・ Il y a $ i $ tel que $ A_i = 0 $. ・ Il y a $ i $ avec $ A_i = 9 $. Cependant, la réponse peut être très volumineuse, alors imprimez le reste divisé par 10 $ ^ 9 + 7 $.

C'était un problème de numéro A en première année de lycée. Soit $ B $ l'ensemble des tableaux avec $ i $ tel que $ A_i = 0 $, et $ C $ l'ensemble des tableaux avec $ i $ tel que $ A_i = 9 $.

\begin{align}
n(B \cap C) = n(B) + n(C) - n(B \cup C)
\end{align}

Cependant, il est difficile de calculer tel quel, donc si vous transformez la formule,

\begin{align}
n(B \cap C) &= n(B) + n(C) - n(B \cup C) \\
&= n(U) - (n(\overline{B}) + n(\overline{C}) - n(\overline{B \cup C})) \\
&= n(U) - n(\overline{B}) - n(\overline{C}) + n(\overline{B} \cap \overline{C}) \\
\end{align}

Par conséquent, le calcul peut être fait facilement. n(U) = 10^N n(\overline{B}) = 9^N n(\overline{C}) = 9^N n(\overline{B} \cap \overline{C}) = 8^N

abc178c.py


n = int(input())
mod = 10**9 + 7
print((10**n - 9**n + 8**n - 9**n) % mod)

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 DE. Suite au deuxième semestre.

Recommended Posts

AtCoderBeginnerContest175 Review & Summary (premier semestre)
AtCoderBeginnerContest164 Review & Summary (premier semestre)
AtCoderBeginnerContest169 Review & Summary (premier semestre)
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)
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)