[PYTHON] AtCoder Beginner Contest 083 Rückblick auf frühere Fragen

Benötigte Zeit

スクリーンショット 2020-03-27 12.10.48.png

Impressionen

Hmmm. Ich kann nicht anders, als mir Sorgen um FX zu machen. Es ist so schlimm, dass ich nicht studieren kann, weil ich mir zu viele Sorgen um den Marktpreis mache ... Ich kann mir keine Lösung vorstellen, aber meine mentale Stärke reicht nicht aus.

Problem A

Alles was Sie tun müssen, ist die hinzugefügten zu vergleichen. Ich habe den ternären Operator verwendet.

answerA.py


a,b,c,d=map(int,input().split())
print("Left" if (a+b)>(c+d) else "Right" if (a+b)<(c+d) else "Balanced")

B-Problem

Sie können der Reihe nach von 1 bis n zählen.

answerB.py


n,a,b=map(int,input().split())
ans=0
for i in range(1,n+1):
    s=0
    j=i
    while j!=0:
        s+=(j%10)
        j//=10
    if a<=s<=b:ans+=i
print(ans)

C-Problem

Wenn k so verwendet wurde, wie es war, fiel es wahrscheinlich aufgrund eines Berechnungsfehlers um einen Fall. Es ist natürlich, dass nicht ganzzahlige Berechnungen wie Protokollberechnungen vorsichtig mit Fehlern sein sollten **, aber ich möchte dies berücksichtigen. Außerdem wird der zweite Code sorgfältig geschrieben, damit er von O (log (x / y)) übergeben werden kann.

answerC.py


import math
x,y=map(int,input().split())
k=math.floor(math.log2(y/x))

for i in range(k+3):
    if x*(2**i)>y:
        print(i)
        break

answerC_better.py


import math
x,y=map(int,input().split())
ans=0
while x<=y:
    x*=2
    ans+=1
print(ans)

D Problem

Zuerst habe ich mir die Beispielbeispiele angesehen und festgestellt, dass es viele Nullen und Einsen gibt, aber es war nicht so einfach. In einem solchen Inversionsproblem können Sie sehen, dass ** die Beziehung zwischen dem ausgewählten Teil und dem nicht ausgewählten Teil in der Inversionsoperation ** umgekehrt ist. Mit anderen Worten, wenn [l, r] invertiert ist, ist die Länge der Zeichenkette n, und wenn man den 1-Index betrachtet, die beiden Teile [1, l-1], [r + 1, n] und [ Die Beziehung des l, r] Teils ändert sich. Wenn daher Nullen und Einsen ausgetauscht werden, müssen sie nebeneinander gleich sein. Wenn die vertauschten Positionen k, k + 1, ** sind, müssen Sie [v, k], [k + 1, w] auswählen und invertieren, um die beiden gleich zu machen ** .. Hier möchte ich den Teil so lange wie möglich aus dem Thema auswählen, und die Länge ist offensichtlich, wenn v = 1 oder w = n ist. Finden Sie daher max (Länge von [1, k], Länge von [k + 1, n]) für die Stellen, an denen sie ersetzt werden, und die kürzeste ist die Antwort. Beachten Sie auch, dass ** wenn alle gleich sind, die Antwort n ** ist. (Ich hatte Schmerzen, weil ich inf richtig auf ans eingestellt hatte.)

answerD.py


s=input()
l=len(s)
ans=l
for i in range(l-1):
    if s[i]!=s[i+1]:
        ne=max(i+1,l-i-1)
        ans=min(ans,ne)
print(ans)

Recommended Posts

AtCoder Beginner Contest 102 Rückblick auf frühere Fragen
AtCoder Beginner Contest 072 Rückblick auf frühere Fragen
AtCoder Beginner Contest 085 Rückblick auf frühere Fragen
AtCoder Beginner Contest 062 Rückblick auf frühere Fragen
AtCoder Beginner Contest 113 Rückblick auf frühere Fragen
AtCoder Beginner Contest 074 Rückblick auf frühere Fragen
AtCoder Beginner Contest 051 Rückblick auf frühere Fragen
AtCoder Beginner Contest 127 Rückblick auf frühere Fragen
AtCoder Beginner Contest 119 Rückblick auf frühere Fragen
AtCoder Beginner Contest 151 Rückblick auf frühere Fragen
AtCoder Beginner Contest 075 Rückblick auf frühere Fragen
AtCoder Beginner Contest 054 Rückblick auf frühere Fragen
AtCoder Beginner Contest 110 Rückblick auf frühere Fragen
AtCoder Beginner Contest 070 Rückblick auf frühere Fragen
AtCoder Beginner Contest 105 Rückblick auf frühere Fragen
AtCoder Beginner Contest 112 Rückblick auf frühere Fragen
AtCoder Beginner Contest 089 Rückblick auf frühere Fragen
AtCoder Beginner Contest 069 Rückblick auf frühere Fragen
AtCoder Beginner Contest 079 Rückblick auf frühere Fragen
AtCoder Beginner Contest 056 Rückblick auf frühere Fragen
AtCoder Beginner Contest 087 Rückblick auf frühere Fragen
AtCoder Beginner Contest 067 Rückblick auf frühere Fragen
AtCoder Beginner Contest 093 Rückblick auf frühere Fragen
AtCoder Beginner Contest 046 Rückblick auf frühere Fragen
AtCoder Beginner Contest 123 Überprüfung früherer Fragen
AtCoder Beginner Contest 049 Rückblick auf frühere Fragen
AtCoder Beginner Contest 078 Rückblick auf frühere Fragen
AtCoder Beginner Contest 081 Rückblick auf frühere Fragen
AtCoder Beginner Contest 060 Rückblick auf frühere Fragen
AtCoder Beginner Contest 104 Rückblick auf frühere Fragen
AtCoder Beginner Contest 057 Rückblick auf frühere Fragen
AtCoder Beginner Contest 121 Rückblick auf frühere Fragen
AtCoder Beginner Contest 126 Rückblick auf frühere Fragen
AtCoder Beginner Contest 090 Rückblick auf frühere Fragen
AtCoder Beginner Contest 103 Rückblick auf frühere Fragen
AtCoder Beginner Contest 061 Rückblick auf frühere Fragen
AtCoder Beginner Contest 059 Rückblick auf frühere Fragen
AtCoder Beginner Contest 044 Rückblick auf frühere Fragen
AtCoder Beginner Contest 083 Rückblick auf frühere Fragen
AtCoder Beginner Contest 048 Rückblick auf frühere Fragen
AtCoder Beginner Contest 124 Rückblick auf frühere Fragen
AtCoder Beginner Contest 116 Rückblick auf frühere Fragen
AtCoder Beginner Contest 097 Rückblick auf frühere Fragen
AtCoder Beginner Contest 088 Rückblick auf frühere Fragen
AtCoder Beginner Contest 092 Rückblick auf frühere Fragen
AtCoder Beginner Contest 099 Rückblick auf frühere Fragen
AtCoder Beginner Contest 065 Rückblick auf frühere Fragen
AtCoder Beginner Contest 053 Rückblick auf frühere Fragen
AtCoder Beginner Contest 094 Rückblick auf frühere Fragen
AtCoder Beginner Contest 063 Rückblick auf frühere Fragen
AtCoder Beginner Contest 107 Rückblick auf frühere Fragen
AtCoder Beginner Contest 071 Rückblick auf frühere Fragen
AtCoder Beginner Contest 064 Rückblick auf frühere Fragen
AtCoder Beginner Contest 082 Rückblick auf frühere Fragen
AtCoder Beginner Contest 084 Rückblick auf frühere Fragen
AtCoder Beginner Contest 068 Rückblick auf frühere Fragen
AtCoder Beginner Contest 043 Rückblick auf frühere Fragen
AtCoder Beginner Contest 098 Rückblick auf frühere Fragen
AtCoder Beginner Contest 114 Rückblick auf frühere Fragen
AtCoder Beginner Contest 045 Rückblick auf frühere Fragen