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
É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)
É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))
É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.
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