AtCoder ABC171 Dies ist eine Zusammenfassung der Probleme des AtCoder-Anfängerwettbewerbs 171, der am 21.06.2020 (So) in der Reihenfolge von Problem A unter Berücksichtigung von Problem A stattfand. 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 Das $ 1 $ -Zeichen $ α $ wird entweder in Groß- oder Kleinbuchstaben eingegeben. Geben Sie "A" aus, wenn $ α $ im oberen Englisch ist, und "a", wenn es im unteren Englisch ist.
Es gibt viele Möglichkeiten zu beurteilen, ob es oben oder unten ist, aber dieses Mal habe ich `str.istitle ()`
verwendet.
abc171a.py
n = input()
if n.istitle():
print("A")
else:
print("a")
Problemstellung Ein Geschäft verkauft $ N $ Obstsorten, Früchte $ 1,…, N $ zu Preisen von jeweils $ p_1,…, p_N $ Yen. Wenn Sie in diesem Geschäft nacheinander $ K $ Obstsorten kaufen, fragen Sie nach dem minimal möglichen Gesamtpreis für diese.
Sie können $ k $ Obst vom billigsten kaufen, so dass Sie es leicht lösen können, indem Sie den Preis sortieren.
abc171b.py
n, k = map(int, input().split())
p_list = list(map(int, input().split()))
p_list = sorted(p_list)
print(sum(p_list[:k]))
Problemstellung Roger beschloss, alle $ 1000000000000001 $ Hunde zu behalten, die ihm plötzlich erschienen. Die Hunde waren ursprünglich von $ 1 $ bis $ 1000000000000001 $ nummeriert, aber Roger gab ihnen Namen nach den folgenden Regeln: ・ Die Hunde mit den Nummern $ 1,2, ⋯, 26 $ heißen in dieser Reihenfolge a, b, ..., z. ・ Die Hunde mit den Nummern $ 27,28,29, ⋯, 701,702 $ heißen in dieser Reihenfolge aa, ab, ac, ..., zy, zz. ・ Die Hunde mit den Nummern $ 703.704.705, ⋯, 18277.18278 $ heißen in dieser Reihenfolge aaa, aab, aac, ..., zzy, zzz. ・ Die Hunde mit den Nummern $ 18279,18280,18281, ⋯, 475253,475254 $ heißen in dieser Reihenfolge aaaa, aab, aaaac, ..., zzzy, zzzz. ・ Die Hunde mit der Nummer $ 475255,475256, ⋯ $ heißen in dieser Reihenfolge aaaaa, aaaab, .... ・ (Unten weggelassen) Mit anderen Worten, wenn Sie die von Roger angegebenen Namen in numerischer Reihenfolge sortieren: a, b, ..., z, aa, ab, ..., az, ba, bb, ..., bz, ..., za, zb, ..., zz, aaa, aab ,. .., aaz, aba, abb, ..., abz, ..., zzz, aaaa, ... Roger hat dir ein Problem verursacht. "Beantworten Sie den Namen des Hundes mit der Nummer $ N $."
Ich dachte, dass es mit einer 26-jährigen Idee gelöst werden könnte, also habe ich es umgesetzt und es hat bestanden.
abc171c.py
n = int(input())
n = n - 1
mozi_list = []
while True:
k = n % 26
n = n // 26 - 1
chr_s = chr(97 + k)
mozi_list.append(chr_s)
if n == -1:
break
for i in range(len(mozi_list)):
print(mozi_list[len(mozi_list)-i-1], end="")
Dies ist das Ende der ersten Hälfte. Dieses Mal wurde die Erklärung sehr sorgfältig geschrieben, 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.
In der zweiten Hälfte wird das DEF-Problem erläutert. Fortsetzung in der zweiten Hälfte.
Recommended Posts