[PYTHON] AtCoderBeginnerContest178 Review & Summary (erste Hälfte)

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

Ein Problem nicht

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)

Problem B Produkt max

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

C Problem Ubiquität

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

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

AtCoderBeginnerContest175 Review & Summary (erste Hälfte)
AtCoderBeginnerContest164 Review & Summary (erste Hälfte)
AtCoderBeginnerContest169 Review & Summary (erste Hälfte)
AtCoderBeginnerContest165 Review & Summary (erste Hälfte)
AtCoderBeginnerContest170 Review & Summary (erste Hälfte)
AtCoderBeginnerContest167 Review & Summary (erste Hälfte)
AtCoderBeginnerContest177 Review & Summary (erste Hälfte)
AtCoderBeginnerContest168 Review & Summary (erste Hälfte)
AtCoderBeginnerContest178 Review & Summary (erste Hälfte)
AtCoderBeginnerContest171 Review & Summary (erste Hälfte)
AtCoderBeginnerContest166 Review & Summary (erste Hälfte)
AtCoderBeginnerContest161 Review & Summary (erste Hälfte)
AtCoderBeginnerContest172 Review & Summary (erste Hälfte)
AtCoderBeginnerContest176 Review & Summary (erste Hälfte)
AtCoderBeginnerContest178 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest176 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest169 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest166 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest171 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest174 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest173 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest177 Review & Summary (zweite Hälfte)
AtCoderBeginnerContest180 Review & Zusammenfassung
AtCoderBeginnerContest181 Überprüfung & Zusammenfassung
AtCoderBeginnerContest182 Überprüfung & Zusammenfassung
AtCoderBeginnerContest183 Überprüfung & Zusammenfassung
AtCoderBeginnerContest179 Review & Zusammenfassung
Django Girls Tutorial Zusammenfassung Erste Hälfte
AtCoder Rückblick auf frühere Fragen (erste Hälfte von 12 / 8,9)