[PYTHON] ABC146 Impressions

Participation au concours AtCoder pour débutants 146

Je participe généralement au concours → Je finis par le revoir, mais je voulais garder une trace de mes réflexions pendant le concours, j'ai donc décidé d'écrire un article. (Je ne sais pas combien de temps ça va durer)

Problème A - Je ne peux pas attendre les vacances

Je l'ai mis en œuvre honnêtement.

A.py


S = input()

if S == "SUN":
    print(7)
elif S == "MON":
    print(6)
elif S == "TUE":
    print(5)
elif S == "WED":
    print(4)
elif S == "THU":
    print(3)
elif S == "FRI":
    print(2)
else:
    print(1)

Problème B-ROT N

Je ne savais pas comment convertir des lettres en code ASCII, alors J'ai demandé à l'enseignant de Google et j'ai découvert ʻord () ʻandchr ().

Exprimez le caractère cible comme «0 à 25», ajoutez N pour le décaler N fois et divisez par 26 pour trouver le reste. Enfin, ajoutez ʻord ("A") `pour revenir au code ASCII de l'alphabet supérieur. La réponse a été obtenue en faisant cela pour chaque personnage.

B.py


N = int(input())
S = input()

new_s = []
for c in S:
    new_s.append(chr((ord(c) - ord("A") + N) % 26 + ord("A")))

print("".join(new_s))

Problème C - Acheter un entier

Au début, j'ai fait une recherche complète de N, mais c'était TLE. (C'est vrai) J'ai pensé que PyPy passerait (?), Et j'ai répété TLE. En chemin, je me suis rendu compte qu'une dichotomie pouvait être utilisée pour trouver la "valeur maximale qui remplit les conditions". J'ai pu le passer.

Il est regrettable que je me suis trop attaché à une méthode et que j'ai pris 30 minutes pour atteindre la recherche de deux minutes.

C.py


a,b,x = map(int, input().split())

left = 0
right = 10**9 + 1
while right > left + 1:
    n = (left + right) // 2
    if a * n + b * len(str(n)) <= x:
        left = n
    else:
        right = n

print(left)

Problème D-coloration des bords sur l'arbre

C'était totalement inutile. Le problème du graphe suscite une réaction de rejet au moment où je le vois, donc je veux étudier dur quelque part, mais je ne l'ai pas touché ...

Avez-vous du bon matériel d'apprentissage? ??

Résumé

Je veux passer au vert bientôt!

Recommended Posts

ABC146 Impressions
ABC168
ABC164
ABC174
ABC175
ABC170
ABC182
ABC153
AtCoder ABC176
ABC167 WriteUp
AtCoder ABC177
Débutant ABC154 (Python)
Débutant ABC156 (Python)
rapport de participation abc154
Débutant ABC155 (Python)
Débutant ABC157 (Python)
AtCoder ABC 175 Python