J'ai participé au concours pour débutants AtCorder 164. C'était les 3 questions AC d'ABC. J'utilise Python.
Lorsque le loup W est plus que le mouton S, le mouton sera attaqué par le loup, il est donc dangereux.
S, W = map(int,input().split()
if S <= W:
print("unsafe")
else:
print("safe")
Soit t le nombre de tours requis pour que Takahashi ait 0 force physique, et a le nombre de tours requis pour qu'Aoki ait 0 force physique. Takahashi gagne lorsque la force physique d'Aoki devient d'abord 0, donc t est supérieur à a. Même si cela prend le même tour pour atteindre 0 force physique, Takahashi gagnera en premier.
A, B, C, D = map(int,input().split())
import math
t = math.ceil(A / D)
a = math.ceil(C / B)
if t >= a:
print("Yes")
else:
print("No")
Stockez les prix obtenus dans la liste S. Créez une liste sans doublons et trouvez le nombre d'éléments.
N = int(input())
S =[input() for i in range(N)]
import collections
c = collections.Counter(S)
print(len(c))
Retrouvez tous les multiples de 2019 compris entre 1 et 200000 et mettez-les dans la liste baisuu. Nous chercherons dans l'ordre comme s'il contenait 2019 → 4038. Cependant, si le même nombre est inclus au début et à la fin, tel que 18171 (= 2019 * 9), il n'a pas été possible de confirmer que 181718171 contient deux 18171.
S = input()
import re
baisuu = [2019 * i for i in range(200000 // 2019)]
count = [len(re.findall(str(i), str(S)))
for i in baisuu if str(i) in str(S)]
Un multiple de 2019 signifie que le reste divisé par 2019 est égal à 0. Plutôt que de déplacer les deux lors de la spécification de la plage, la quantité de calcul peut être réduite en la fixant à l'extrémité droite.
À titre d'exemple, considérez si S = 12114 est divisible par 2019. Trouvez le reste en fixant le bord droit et en décalant le bord gauche un par un. 1 → 1 41 → 41 141 → 141 1141 → 1141 21141 → 951 121141 → 1 Les restes correspondent lorsqu'ils sont à 1 chiffre et lorsqu'ils sont à 6 chiffres. Cela indique que le nombre de chiffres 6 à 2 (1 + 1) est un multiple de 2119.
a = 2019 * A + y b = 2019 * B + y a - b = 2019 * (A * B) a --b vaut 10 à la nième puissance. Parce que 10 et 2019 sont premiers l'un par rapport à l'autre, a --b est un multiple de 2019.
Par conséquent, en calculant tous les restes et en comptant le nombre de doublons, il est possible d'obtenir un nombre multiple de 2019. De plus, s'il est divisé par 2019 et devient un reste de 0, ce sera le cas de 2019 même s'il n'y a pas de duplication. La réponse ci-dessous est TLE.
S = list(input())
S.reverse()
amari = []
A = 0
c = 0
for i in range(len(S)):
a = (int(A) + int(S[i]) *(10 ** i)) % 2019
amari.append(a)
if a == 0:
c += 1
A = a
print(c + len(amari) - len(set(amari)))
Recommended Posts