Résolvez AtCoder ABC166 avec python

Comme le dit le titre. Je n'ai pas pu répondre à temps, mais je le posterai parce que j'ai tout rempli après le temps. Nous avons évoqué les résultats de la soumission de nombreuses personnes.

J'ai reçu quelques commentaires, j'ai donc fait quelques refactorisations.

A Il se termine par la classification des cas.

# A

S = input()

if S == 'ABC':
    print('ARC')
else:
    print('ABC')

B Créez un tableau de 1 pour tous les éléments et réécrivez l'élément correspondant à la personne qui a le bonbon à 0. Enfin, prenez la somme de ce tableau.

# B

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

sunuke = [1] * N

for i in range(K):
    di = int(input())
    tmp = map(int, input().split())
    for t in tmp:
        sunuke[t-1] = 0
print(sum(sunuke))

C Créez un tableau $ A $ avec tous les éléments 0 et une longueur de $ N $. L'élément $ A $ est programmé pour contenir l'élévation maximale d'un autre observatoire connecté à chaque observatoire. Chaque fois que nous recevons la route $ [a, b] $, nous prenons l'élément de $ A $ comme maximum de la hauteur de nous-mêmes et de l'observatoire. Dans le code ci-dessous, la partie mise à jour de $ A [a-1] $ est comparée à un autre observatoire $ b $ connecté à l'observatoire $ a $, et le plus grand est l'observatoire relié à l'observatoire $ a $ par une route. Mettre à jour comme altitude maximale de la plate-forme. La même chose est vraie pour $ A [b-1] $.

# C
N, M = map(int, input().split())
H = list(map(int, input().split()))

A = [0] * N
for i in range(M):
    a, b = map(int, input().split())
    A[a-1] = max(A[a-1], H[b-1])
    A[b-1] = max(A[b-1], H[a-1])
    
res = sum([H[i] > A[i] for i in range(N)])
print(res)

D Comme il est garanti qu'il existe une solution, vous pouvez l'essayer en la poussant par le bas. La limite supérieure à voir peut être estimée dans une certaine mesure, mais comme il est garanti qu'il existe une solution, je la mets dans le texte à 100 000 lol. Si $ (A, B) $ est la solution, alors $ (A ', B') = (-B, -A) $, donc si les deux $ A et B $ sont négatifs, vous n'avez pas besoin de vérifier les deux s'ils sont positifs. .. Donc, ici, nous supposons $ A> 0 $ et résolvons en incrémentant $ B $ à partir de la région négative de la borne inférieure.

# D
import math
X = int(input())

B = -math.floor(math.pow(X, 0.2))
for b in range(B, 1000):
    a = int(math.pow(X + b ** 5, 0.2))
    if a ** 5 - b ** 5 == X:
        break
        
print(a, b)

E Vous pouvez assembler selon l'explication officielle.

# E

import collections

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

d = dict(collections.Counter([i + A[i] for i in range(N)]))
ans = sum([d.get(i - A[i], 0) for i in range(N)])
    
print(ans)

F Vous pouvez assembler selon l'explication officielle.

# F

N, A, B, C = list(map(int, input().split()))
d = {'A': A, 'B': B, 'C': C}
res = []
SN = [input() for i in range(N)]
for i in range(N):
    s = SN[i]
    s0 = s[0]
    s1 = s[1]
    
    if d[s0] == d[s1] == 0:
        print('No')
        exit()
    elif d[s0] == 0:
        d[s0] += 1
        d[s1] -= 1
        res.append(s0)
    elif d[s1] == 0:
        d[s0] -= 1
        d[s1] += 1
        res.append(s1)
    elif i == N-1:
        res.append(s0)
    elif s0 in SN[i+1]:
        d[s0] += 1
        d[s1] -= 1
        res.append(s0)
    else:
        d[s0] -= 1
        d[s1] += 1
        res.append(s1)
        
print('Yes')
for r in res:
    print(r)

Recommended Posts

Résolvez AtCoder ABC166 avec python
Résolvez AtCoder 167 avec python
[AtCoder] Résoudre ABC1 ~ 100 Un problème avec Python
Résoudre AtCoder ABC168 avec python (A ~ D)
[AtCoder] Résoudre un problème de ABC101 ~ 169 avec Python
AtCoder ABC 174 Python
AtCoder ABC 175 Python
Résoudre ABC166 A ~ D avec Python
Résoudre Atcoder ABC169 A-D avec Python
Recommandation de résolution des problèmes d'AtCoder avec python (20200517-0523)
Résoudre ABC168 A ~ C avec Python
Résolu AtCoder ABC 114 C-755 avec Python3
Résoudre ABC162 A ~ C avec Python
Résoudre ABC167 A ~ C avec Python
Résoudre ABC158 A ~ C avec Python
Résolution avec Ruby et Python AtCoder ABC133 D Somme cumulée
Je voulais résoudre ABC160 avec Python
Résoudre des maths avec Python
Résolvez ABC169 avec Python
Résolvez POJ 2386 avec python
Je voulais résoudre ABC172 avec Python
Défiez AtCoder (ABC) 164 avec Python! Un problème ~ C
Résolvez "AtCoder version! Arimoto (Débutant)" avec Python!
[Python] Résoudre des équations avec sympy
AtCoder ABC 177 Python (A ~ E)
Bleu clair avec AtCoder @Python
AtCoder ABC 178 Python (A ~ E)
Atcoder ABC164 A-C en Python
Résoudre ABC176 E en Python
AtCoder ABC 176 Python (A ~ E)
Atcoder ABC167 A-D en Python
Résoudre ABC175 D en Python
Atcoder ABC165 A-D en Python
Atcoder ABC166 A-E en Python
AtCoder ABC 182 Python (A ~ D)
Atcoder ABC169 A-E en Python
AtCoder ABC177 A-D avec python
Résolution avec Ruby, Perl, Java et Python AtCoder ABC 047 C Expression régulière
atCoder 173 Python
AtCoder ABC176
Résoudre Atcoder ABC176 (A, B, C, E) en Python
AtCoder ABC177
Résoudre avec Ruby et Python AtCoder ABC084 D Somme cumulative des nombres premiers
solveur> Lien> Résoudre le solveur Excel avec python
Résoudre ABC036 A ~ C avec Python
Modèle AtCoder ABC 179 Python (A ~ E)
Résoudre ABC037 A ~ C avec Python
[Explication AtCoder] Contrôle ABC180 Problèmes A, B, C avec Python!
Résolution avec Ruby et Python AtCoder ABC178 D Méthode de planification dynamique
Résolution avec Ruby et Python AtCoder ABC151 D Recherche de priorité de largeur
[Explication AtCoder] Contrôle ABC158 Problèmes A, B, C avec Python!
Résolution avec Ruby et Python AtCoder ABC011 C Méthode de planification dynamique
Résolution avec Ruby et Python AtCoder ABC153 E Méthode de planification dynamique
Résolution avec Ruby et Python AtCoder ABC138 D Liste adjacente