salut! C'est le domaine de Roadrice, étudiant en master de bioinformatique! En fait, j'ai participé à AtCoder en tant que passe-temps, mais si j'ai du temps à partir de cette époque, je garderai une trace pour mon examen! C'est un record quand j'ai participé à ABC158 qui s'est tenu le 7 mars 2020. Je ne pouvais que AC jusqu'à D problème par manque d'étude, mais je ferai de mon mieux pour pouvoir AC jusqu'à E dans le futur! J'utilise aussi habituellement C ++, mais cette fois, il me semblait que Python suffirait, alors j'ai tout résolu avec Python!
Au début, je ne pouvais pas saisir l'intention de l'énoncé du problème, et j'ai fini par demander "Quoi?", Mais si vous y réfléchissez, il vous suffit de juger si la chaîne de caractères * S * est composée uniquement des mêmes caractères. est.
Ma réponse
S = input()
if S[0] == S[1] and S[1] == S[2] and S[0] == S[2]: print("No")
else: print("Yes")
Après tout, Takahashi ne met que * A * balles bleues et * B * balles rouges périodiquement, donc il y a * (A + B) * ensembles de l'avant à * N *. Tout d'abord, trouvez le quotient × * A *. S'il est supérieur à * A *, ajoutez-y * A *, et s'il est inférieur à * A *, ajoutez-en trop. Est la réponse.
Ma réponse
N, A, B = map(int, input().split())
div = int(N/(A+B))
amari = N%(A+B)
if amari > A:
print(A*div + A)
else:
print(A*div + amari)
J'étais impatient parce que je ne pouvais pas penser à une politique tout de suite, mais quand je réfléchis calmement, le prix minimum hors taxe auquel la taxe à la consommation est de * A * yen au taux de la taxe à la consommation de 8% est ceil (* A * / 0.08) = ceil. (12,5 * A ) Yen. Le prix minimum hors taxe pour lequel la taxe à la consommation est de * B * Yen au taux de la taxe à la consommation de 10% est ceil ( B * / 0,1) = ceil (10 * B *) Yen. Le plus petit est * N *. Par exemple, le prix minimum hors taxe auquel la taxe à la consommation est de * A * yen au taux de taxe à la consommation de 8%, ceil (12,5 * A *) yen est supposé être plus petit. * N * = ceil (12,5 * A *), et * N * plus 1 pour obtenir le premier étage (0,1 * N *) = * B * est la réponse. * N * est 1 Étant donné que le plancher (0,08 * N *) peut devenir supérieur à * A * au milieu de l'addition, -1 est émis car il n'y a pas de réponse à ce moment-là. En Python, si vous le placez dans int (), il devient un étage. C'est compliqué! !! !! Et comment écrivez-vous les symboles du plafond et du sol dans Markdown ... Quelqu'un peut-il me le dire!
Ma réponse
import math
A, B = map(int, input().split())
ans = -1
flg = True
if math.ceil(12.5*A) >= B*10:
N = B*10
while int(N*0.08) < A:
N += 1
if int(N*0.1) > B:
flg = False
break
if flg: ans = N
else:
N = math.ceil(12.5*A)
while int(N*0.1) < B:
N += 1
if int(N*0.08) > A:
flg = False
break
if flg: ans = N
print(ans)
En effet, si vous implémentez l'opération de la phrase de question telle quelle, il faut beaucoup de temps pour inverser le caractère ou ajouter le caractère au début, et selon le cas de test, la réponse ne peut pas être sortie dans les 2 secondes. Lors de l'ajout, l'opération pour décaler l'indice du tableau qui contient la chaîne de caractères un par un aurait dû être effectuée. Cela devrait donc être lent.) Donc ici tout en maintenant si la chaîne de caractères est maintenant inversée ** ajoutez ** les caractères qui suivent la tête et la queue de * S * lorsqu'ils sont visualisés dans l'orientation d'origine vers des listes séparées (important ici! L'ajout par ajout n'est ajouté qu'à la fin de la liste, donc Le temps est court.) Enfin, je suis allé avec la stratégie de prêter attention à la direction et à la connexion et à la sortie.
Ma réponse
S = input()
Q = int(input())
flg = "moto"
atama = list()
shippo = list()
for _ in range(Q):
tmp = list(map(str, input().split()))
if flg == "moto":
if int(tmp[0]) == 1:
flg = "hanten"
else:
if int(tmp[1]) == 1:
atama.append(tmp[2])
else:
shippo.append(tmp[2])
else:
if int(tmp[0]) == 1:
flg = "moto"
else:
if int(tmp[1]) == 1:
shippo.append(tmp[2])
else:
atama.append(tmp[2])
if flg == "moto":
atama = atama[::-1]
print("".join(atama) + S + "".join(shippo))
else:
shippo = shippo[::-1]
print("".join(shippo) + S[::-1] + "".join(atama))
C'est tout ce que j'ai résolu.Dès maintenant, je vise à apprendre les algorithmes de base tels que DP et AC jusqu'à E problèmes! Je pense qu'il a fait de son mieux pour le Département des sciences biologiques.
Recommended Posts