AtCoder ABC175 Ceci est un résumé des problèmes du concours AtCoder Beginner Contest 175, qui s'est déroulé le samedi 15/08/2020, dans l'ordre du problème A, en tenant compte de la considération. La première moitié traite des problèmes jusqu'à ABC. Le problème est cité, mais veuillez consulter la page du concours pour plus de détails. Cliquez ici pour la page du concours Commentaire officiel PDF
Énoncé du problème Il y a un record de la météo dans la ville d'AtCoder pour une journée consécutive de 3 $. L'historique météo est représenté par la chaîne de longueur $ 3 $ $ S $, et le temps $ i (1 \ leqq i \ leqq 3) $ day est ensoleillé lorsque la lettre $ i $ est "S", "R" «Il pleuvait à ce moment-là. Trouvez le nombre maximum de jours de pluie consécutifs.
Comme il est écrit dans le commentaire, il n'y a que 8 façons pendant 3 jours, vous pouvez donc le passer si vous l'écrivez séparément. Si vous faites attention à l'ordre des conditions, vous pouvez le résoudre dans les cas suivants.
abc175a.py
n = input()
if "RRR" in n:
print(3)
elif "RR" in n:
print(2)
elif "R" in n:
print(1)
else:
print(0)
Énoncé du problème Il y a des bâtons $ N $ numérotés $ 1, ⋯, N $. La longueur de la barre $ (i (1 \ leqq i \ leqq N) $ est $ L_i $. Combien de ces tiges de 3 $ de différentes longueurs peuvent être utilisées pour faire un triangle? En d'autres termes, trouvez le nombre de paires d'entiers $ 3 $ $ 1 \ leqq i <j <k \ leqq N $ qui satisfont aux deux conditions $ 2 $ suivantes. ・ $ L_i, L_j, L_k $ sont tous différents ・ Il y a un triangle dont la longueur de côté est $ L_i, L_j, L_k $.
Puisque la condition que tous les côtés sont différents est simple, en ce qui concerne la condition qu'un triangle tient, si la longueur de $ 3 $ côté est $ L_i <L_j <L_k $, le triangle existe lorsque $ L_i + L_j> L_k $. En triant d'abord les bâtons $ N $, lorsque vous sélectionnez 3 $ à partir de $ N $, celui le plus à droite des 3 $ sélectionnés sera la valeur la plus élevée. Puisque $ N $ est de 100 ou moins, vous pouvez vérifier toutes les combinaisons à temps.
abc175b.py
n = int(input())
l_list = list(map(int, input().split()))
l_list.sort()
count = 0
for i in range(0, n - 2):
for j in range(i + 1, n - 1):
for k in range(j + 1, n):
a = l_list[i]
b = l_list[j]
c = l_list[k]
if a == b or b == c or c == a:
continue
if a + b > c:
count += 1
else:
break
print(count)
Énoncé du problème Takahashi, qui vit sur quelques lignes droites, est maintenant aux coordonnées $ X $. A partir de maintenant, Takahashi a l'intention de répéter l'acte de déplacer $ D $ dans le sens positif ou négatif des coordonnées exactement $ K $ fois. Plus précisément, vous pouvez passer des coordonnées $ x $ à $ x + D $ ou $ x − D $ avec un mouvement de $ 1 $. M. Takahashi veut se déplacer pour que la valeur absolue des coordonnées après avoir déplacé seulement $ K $ fois soit le minimum. Trouvez la valeur minimale possible comme valeur absolue des coordonnées après avoir déplacé $ K $ fois.
Au départ, il est dans la coordonnée $ X $, mais comme la valeur minimale à obtenir est la valeur absolue de la coordonnée, les réponses de $ X $ et $ -X $ correspondent. Considérant le cas de $ 0 \ leqq X $, s'il n'y a pas de limite sur le nombre de mouvements $ K $, le reste de $ X $ divisé par $ D $ ou $ T1 $ moins $ D $ $ T2 Soit $ est la réponse. (Je veux réduire la valeur absolue des coordonnées, il est donc préférable d'aller et venir près de l'origine) Tout d'abord, il est déterminé si $ T1 $ peut être atteint, et s'il ne peut pas être atteint, la réponse est $ X $ moins le nombre de coups x $ D $. Si vous pouvez atteindre $ T1 $, vous devez déplacer $ K $ fois, alors calculez le nombre de mouvements restant à partir du nombre de mouvements jusqu'à présent, et si le nombre de mouvements restant est pair ou impair, $ T1 $ $ T2 $ est décidé. Notez la sortie car $ T2 $ est négatif.
abc175c.py
x, k, d = map(int, input().split())
if x < 0:
x *= -1
t1 = x % d
t2 = t1 - d
n = (x - t1) // d
if k < n:
print(x - k * d)
else:
n = k - n
if n % 2 == 0:
print(t1)
else:
print(-t2)
C'est la fin du premier semestre. Je suis en vacances d'été, mais je suis occupé à rédiger des réponses parce que l'article est accepté sous condition, alors j'aimerais l'écrire quand j'aurai le temps dans la seconde moitié. Merci d'avoir lu jusqu'au bout.
Recommended Posts