[Python] Résolvez 10 problèmes d'élite passés d'Atcoder

Contexte

J'ai décidé d'étudier pour me préparer au test de programmation pour l'examen d'entrée. Par conséquent, je vais étudier car AtCoder était un site avec de nombreuses explications en japonais.

Objectif

Etude pour la préparation aux tests de programmation

introduction

Je pensais qu'un site avec de nombreuses explications mènerait à ma propre étude lors du test de programmation. Par conséquent, lorsque je cherchais un endroit où de nombreux tests de programmation étaient menés dans la communauté japonaise, j'étudiais parce qu'il y avait AtCoder.

Définition d'exigence

  1. Résoudre la sélection des débutants AtCoder
  2. Résoudre les problèmes connexes
  3. Résolvez 60 questions LeetCode

environnement

Résultat de faire

Question 1: ABC 086 A --Produit

a,b=map(int,input().split())
if a*b%2==0:
   print('Even')
else :
    print('Odd')

Question 2: ABC 081 A - Placer des billes

s=input()
count=0
for i in s:
    # print(i)
    if int(i)==1:
        count+=1
    # print(count)

print(count)

Alternative 1

C'est simple et je préfère celui-ci. Si j'ai utilisé le décompte le 19/04, cela a échoué avec RunTimeError, il est donc recommandé d'utiliser la première réponse.

python print(input().count('1'))

###Alternative 2
Comment guider vos compétences en mathématiques
Je ne le recommande pas vraiment.
Si vous êtes bon en mathématiques, vous aimerez peut-être l'écrire.

print(int(input())%9)



##question 3: [ABC 081 B - Shift Only](https://atcoder.jp/contests/abc081/tasks/abc081_b)
```python
N = int(input())
A = map(int, input().split())

count = 0

while all(a % 2 == 0 for a in A):
    A = [a / 2 for a in A]
    count += 1

print(count)

##Question 4: ABC 087 B - Coins

A=int(input())
B=int(input())
C=int(input())
X=int(input())

count=0

for a in range(A+1):
    for b in range(B+1):
        for c in range(C+1):
            if X==500*a+100*b+50*c:
                    count+=1

print(count)

##Question 5: ABC 083 B - Some Sums J'ai appris que l'utilisation de la carte peut être utilisée pour un tri pratique. Je l'ai utilisé pour la première fois.

N = int(input())
A = int(input())
B = int(input())
N,A,B=map(int,input().split())

def FindSumOfDigits(num):
    count = 0
    while num > 0:
        count += num % 10
 # Ceci est différent / manquant
        num=num // 10

    return count

for n in range(1, N+1):
    count = FindSumOfDigits(n)
    if A<= count <=B:
        ans += n
print(ans)

##Question 6: ABC 088 B - Card Game for Two

N=int(input())
A=list(map(int,input().split()))
A.sort(reverse=True)

Alice=Bob=0

for i in range(N):
    if i%2==0:
        Alice+=A[i]
    else:
        Bob+=A[i]

print(Alice-Bob)

##Question 7: ABC 085 B - Kagami Mochi

N=int(input())
d=[input() for _ in range(N)]
print(len(set(d)))

##Question 8: ABC 085 C - Otoshidama C'était un problème qui utilisait l'habileté mathématique de résoudre des équations simultanées.

N, Y = map(int, input().split())

res10000 = res5000 = res1000 = -1

for a in range(N + 1):
    for b in range(N + 1 - a):
        c = N - a - b
        if Y == 10000 * a + 5000 * b + 1000 * c:
            res10000 = a
            res5000 = b
            res1000 = c

print(a, b, c)

##Question 9: ABC 049 C - Daydream

s = input().replace("eraser","").replace("erase","").replace("dreamer","").replace("dream","")

# réécriture if instruction
 print('NO' if s else 'YES')

if s:
  print("NO")
else:
  print("YES")

L'idée de chercher par derrière et d'effacer

def main():
    S = input()

    while len(S) >= 5:
        if len(S) >= 7 and S[-7:] == "dreamer":
            S = S[:-7]
            continue

        if len(S) >= 6 and S[-6:] == "eraser":
            S = S[:-6]
            continue

        elif S[-5:] == "dream" or S[-5:] == "erase":
            S = S[:-5]
            continue

        else:
            break

    if len(S) == 0:
        print("YES")
    else:
        print("NO")
main()

##Question 10: ABC 086 C - Traveling Comment résoudre mathématiquement

n=int(input())
for i in range(n):
    t,x,y=map(int,input().split())
    if (x+y) > t or (x+y+t)%2:
        print('No')
        exit()

print('Yes')

###Alternative 1 La manière royale de résoudre


N = int(input())
t = [0] * (N+1)
x = [0] * (N+1)
y = [0] * (N+1)
for i in range(N):
    t[i+1], x[i+1], y[i+1] = map(int, input().split())

f = True
for i in range(N):
    dt = t[i+1] - t[i]
    dist = abs(x[i+1]-x[i]) + abs(y[i+1]-y[i])
    if dt < dist:
        f = False
    if dist%2 != dt%2:
        f = False

print('Yes' if f else 'No')

###Bekkai 2

import sys

def main():
    N = int(input())
    t, x, y = 0, 0, 0

    for _ in range(N):
        next_t, next_x, next_y = [int(__) for __ in input().split()]

        delta_t = next_t - t
        distance = abs(next_x - x) + abs(next_y - y)

        if distance > delta_t:
            print("No")
            sys.exit()

        if (delta_t - distance) % 2 != 0:
            print("No")
            sys.exit()

        t, x, y = next_t, next_x, next_y

    print("Yes")

main()

#Impressions Quant à la solution mathématique, j'ai pensé que ce serait une bonne idée pour quelqu'un qui n'est pas pénible de trouver la loi en faisant des maths à l'école. Mathématiquement, j'ai l'impression que je ne l'utilise pas beaucoup parce que j'ai l'impression d'avoir trop réfléchi à la programmation compétitive. #Qu'est-ce que je peux faire 1.J'ai appris l'idée de base d'AtCoder 1.Capacité à traduire des phrases de problèmes ésotériques #Tâche 1.Essayez de résoudre un problème similaire à partir du lien de référence 1.Défi Leet Code #Les références

  1. Résoudre la sélection des débutants AtCoder en Python
  2. J'ai essayé de résoudre 10 questions passées d'Atcoder avec python!
  3. Après vous être inscrit sur AtCoder, que faire ensuite - Si vous résolvez cela, vous pouvez vous battre suffisamment! Sélection des questions passées 10 questions ~
  4. J'ai essayé de résoudre 10 questions précédentes sélectionnées qui devraient être résolues après m'être inscrit sur AtCoder
  5. J'ai essayé de résoudre AtCoder Beginners Selection en Python

Recommended Posts

[Python] Résolvez 10 problèmes d'élite passés d'Atcoder
Recommandation de résolution des problèmes d'AtCoder avec python (20200517-0523)
Résolvez AtCoder 167 avec python
[AtCoder] Résoudre un problème de ABC101 ~ 169 avec Python
Résolvez AtCoder ABC166 avec python
Résoudre les problèmes d'optimisation avec Python
Résoudre les problèmes d'AtCoder Boot camp pour les débutants (moyen 100) avec python
Résoudre Atcoder ABC169 A-D avec Python
atCoder 173 Python
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] Résoudre ABC1 ~ 100 Un problème avec Python
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