[PYTHON] AtCoder Beginner Contest 083 Revue des questions précédentes

Temps requis

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

Impressions

Hmmm. Je ne peux pas m'empêcher de m'inquiéter de FX. C'est tellement mauvais que je ne peux pas étudier parce que je suis trop inquiet du prix du marché ... Je ne peux pas penser à une solution, mais ma force mentale ne suffit pas.

Problème A

Tout ce que vous avez à faire est de comparer les éléments ajoutés. J'ai utilisé l'opérateur ternaire.

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

Problème B

Vous pouvez compter de 1 à n dans l'ordre.

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)

Problème C

Lorsque k a été utilisé tel quel, il a probablement chuté d'un cas en raison d'une erreur de calcul. Il est naturel que les calculs non entiers tels que les calculs de journaux doivent faire attention aux erreurs **, mais je veux garder à l'esprit. De plus, le deuxième code est soigneusement écrit avec l'intention qu'il puisse être passé par O (log (x / y)).

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)

Problème D

Au début, j'ai regardé les exemples d'exemples et j'ai décidé qu'il y avait beaucoup de 0 et de 1, mais ce n'était pas si simple. Dans un tel problème d'inversion, vous pouvez voir que ** la relation est inversée entre la partie sélectionnée et la partie non sélectionnée dans l'opération d'inversion **. En d'autres termes, lorsque [l, r] est inversé, la longueur de la chaîne de caractères est n, et lorsque l'on considère 1-index, les deux parties [1, l-1], [r + 1, n] et [ La relation de la partie l, r] change. Par conséquent, là où les 0 et les 1 sont échangés, ils doivent être identiques l'un à côté de l'autre. Ici, si les emplacements permutés sont k, k + 1, ** vous devez sélectionner [v, k], [k + 1, w] pour les inverser afin de les rendre identiques ** .. Ici, je veux rendre la partie à sélectionner dans le sujet aussi longue que possible, et la longueur est évidemment lorsque v = 1 ou w = n. Par conséquent, trouvez max (longueur de [1, k], longueur de [k + 1, n]) pour les endroits où ils sont remplacés, et le plus court est la réponse. Notez également que ** s'ils sont tous identiques, la réponse sera n **. (J'avais mal parce que j'avais réglé inf à ans correctement.)

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 Revue des questions précédentes
AtCoder Beginner Contest 072 Revue des questions précédentes
AtCoder Beginner Contest 085 Revue des questions précédentes
AtCoder Beginner Contest 062 Revue des questions précédentes
AtCoder Beginner Contest 113 Revue des questions précédentes
AtCoder Beginner Contest 074 Revue des questions précédentes
AtCoder Beginner Contest 051 Revue des questions précédentes
AtCoder Beginner Contest 127 Revue des questions précédentes
AtCoder Beginner Contest 119 Revue des questions précédentes
AtCoder Beginner Contest 151 Revue des questions précédentes
AtCoder Beginner Contest 075 Revue des questions précédentes
AtCoder Beginner Contest 054 Revue des questions précédentes
AtCoder Beginner Contest 110 Revue des questions précédentes
AtCoder Beginner Contest 070 Revue des questions précédentes
AtCoder Beginner Contest 105 Revue des questions précédentes
AtCoder Beginner Contest 112 Revue des questions précédentes
AtCoder Beginner Contest 089 Revue des questions précédentes
AtCoder Beginner Contest 069 Revue des questions précédentes
AtCoder Beginner Contest 079 Revue des questions précédentes
AtCoder Beginner Contest 056 Revue des questions précédentes
AtCoder Beginner Contest 087 Revue des questions précédentes
AtCoder Beginner Contest 067 Revue des questions précédentes
AtCoder Beginner Contest 093 Revue des questions précédentes
AtCoder Beginner Contest 046 Revue des questions précédentes
AtCoder Beginner Contest 123 Revue des questions précédentes
AtCoder Beginner Contest 049 Revue des questions précédentes
AtCoder Beginner Contest 078 Revue des questions précédentes
AtCoder Beginner Contest 081 Revue des questions précédentes
AtCoder Beginner Contest 060 Revue des questions précédentes
AtCoder Beginner Contest 104 Revue des questions précédentes
AtCoder Beginner Contest 057 Revue des questions précédentes
AtCoder Beginner Contest 121 Revue des questions précédentes
AtCoder Beginner Contest 126 Revue des questions précédentes
AtCoder Beginner Contest 090 Revue des questions précédentes
AtCoder Beginner Contest 103 Revue des questions précédentes
AtCoder Beginner Contest 061 Revue des questions précédentes
AtCoder Beginner Contest 059 Revue des questions précédentes
AtCoder Beginner Contest 044 Revue des questions précédentes
AtCoder Beginner Contest 083 Revue des questions précédentes
AtCoder Beginner Contest 048 Revue des questions précédentes
AtCoder Beginner Contest 124 Revue des questions précédentes
AtCoder Beginner Contest 116 Revue des questions précédentes
AtCoder Beginner Contest 097 Revue des questions précédentes
AtCoder Beginner Contest 088 Revue des questions précédentes
AtCoder Beginner Contest 092 Revue des questions précédentes
AtCoder Beginner Contest 099 Revue des questions précédentes
AtCoder Beginner Contest 065 Revue des questions précédentes
AtCoder Beginner Contest 053 Revue des questions précédentes
AtCoder Beginner Contest 094 Revue des questions précédentes
AtCoder Beginner Contest 063 Revue des questions précédentes
AtCoder Beginner Contest 107 Revue des questions précédentes
AtCoder Beginner Contest 071 Revue des questions précédentes
AtCoder Beginner Contest 064 Revue des questions précédentes
AtCoder Beginner Contest 082 Revue des questions précédentes
AtCoder Beginner Contest 084 Revue des questions précédentes
AtCoder Beginner Contest 068 Revue des questions précédentes
AtCoder Beginner Contest 058 Revue des questions précédentes
AtCoder Beginner Contest 043 Revue des questions précédentes
AtCoder Beginner Contest 098 Revue des questions précédentes
AtCoder Beginner Contest 114 Revue des questions précédentes
AtCoder Beginner Contest 045 Revue des questions précédentes