AtCoder ABC178 Dies ist eine Zusammenfassung der Probleme des AtCoder-Anfängerwettbewerbs 178, die am 13.09.2020 (So) aufgetreten sind, beginnend mit Problem A und unter Berücksichtigung der Überlegungen. Das erste Halbjahr befasst sich mit Fragen bis ABC. Das Problem wird zitiert, aber bitte überprüfen Sie die Wettbewerbsseite für Details. Klicken Sie hier für die Wettbewerbsseite Offizieller Kommentar PDF
Problemstellung Es wird eine Ganzzahl $ x $ zwischen $ 0 $ und $ 1 $ angegeben. Geben Sie $ 1 $ aus, wenn $ x $ $ 0 $ ist, und geben Sie $ 0 $ aus, wenn $ 1 $.
Als ich es einreichte, hatte ich Angst, dass es mehrere Testfälle gab, aber es war 'AC'. Ist case02 ~ 09 auch notwendig?
abc178a.py
x = int(input())
print(1 - x)
Problemstellung Gegeben sind die ganzen Zahlen $ a, b, c, d $. Was ist der Maximalwert von $ x × y $ für die ganzen Zahlen $ x, y $, die $ a \ leq x \ leq b, c \ leq y \ leq d $ erfüllen?
Wenn $ x und y $ nur unterschiedliche Vorzeichen haben können, ist der Maximalwert $ a × d $ oder $ c × b $. Wenn $ x und y $ das gleiche Vorzeichen haben, ist der Maximalwert $ a × c $ oder $ b × d $.
abc178b.py
a, b, c, d = map(int, input().split())
print(max(a * c, b * d, a * d, c * b))
Problemstellung Wie viele ganzzahlige Spalten $ A_1, A_2,…, A_N $ der Länge $ N $ erfüllen alle folgenden Bedingungen? ・ $ 0 \ leq A_i \ leq 9 $ ・ Es gibt $ i $, so dass $ A_i = 0 $ ist. ・ Es gibt $ i $ mit $ A_i = 9 $. Die Antwort kann jedoch sehr groß sein. Drucken Sie den Rest geteilt durch $ 10 ^ 9 + 7 $.
Es war ein Problem der Nummer A im ersten Jahr der High School. Sei $ B $ die Menge von Arrays mit $ i $ wie $ A_i = 0 $ und $ C $ die Menge von Arrays mit $ i $ wie $ A_i = 9 $.
\begin{align}
n(B \cap C) = n(B) + n(C) - n(B \cup C)
\end{align}
Es ist jedoch schwierig zu berechnen, wie es ist. Wenn Sie also die Formel transformieren,
\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}
Daher kann die Berechnung leicht durchgeführt werden.
abc178c.py
n = int(input())
mod = 10**9 + 7
print((10**n - 9**n + 8**n - 9**n) % mod)
Dies ist das Ende der ersten Hälfte. Vor kurzem wurde der offizielle Kommentar sehr sorgfältig beschrieben, daher hoffe ich, dass Sie sich für die detaillierte Lösung darauf beziehen können. Vielen Dank für das Lesen bis zum Ende der ersten Hälfte.
Die zweite Hälfte wird das DE-Problem erklären. Fortsetzung in der zweiten Hälfte.
Recommended Posts