Löse AtCoder ABC166 mit Python

Wie der Titel schon sagt. Ich konnte nicht rechtzeitig antworten, aber ich werde es veröffentlichen, weil ich alles nach der Zeit aufgefüllt habe. Wir haben uns auf die Einreichungsergebnisse vieler Menschen bezogen.

Ich habe einige Kommentare erhalten und einige Umgestaltungen vorgenommen.

A Es endet mit der Fallklassifizierung.

# A

S = input()

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

B Erstellen Sie ein Array von 1 für alle Elemente und schreiben Sie das Element, das der Person mit der Süßigkeit entspricht, auf 0 um. Nehmen Sie zum Schluss die Summe dieses Arrays.

# 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 Erstellen Sie ein Array $ A $ mit allen Elementen 0 und einer Länge von $ N $. Das $ A $ -Element ist so programmiert, dass es die maximale Höhe eines anderen Observatoriums enthält, das mit jedem Observatorium verbunden ist. Jedes Mal, wenn wir die Straße $ [a, b] $ erhalten, nehmen wir das Element $ A $ als Maximum der Höhe von uns selbst und dem Observatorium. Im folgenden Code wird der aktualisierte Teil von $ A [a-1] $ mit anderen Observatorien $ b $ verglichen, die mit dem Observatorium $ a $ verbunden sind, und der größere Teil ist das Observatorium, das über eine Straße mit dem Observatorium $ a $ verbunden ist. Aktualisieren Sie als maximale Höhe der Plattform. Gleiches gilt für $ 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 Da garantiert ist, dass es eine Lösung gibt, können Sie sie ausprobieren, indem Sie sie von unten drücken. Die zu sehende Obergrenze kann bis zu einem gewissen Grad geschätzt werden, aber da garantiert ist, dass es eine Lösung gibt, habe ich sie als 100.000 lol in den Text eingefügt. Wenn $ (A, B) $ die Lösung ist, dann ist $ (A ', B') = (-B, -A) $. Wenn also sowohl $ A als auch B $ negativ sind, müssen Sie nicht beide prüfen, ob sie positiv sind. .. Hier nehmen wir also $ A> 0 $ an und lösen durch Inkrementieren von $ B $ aus dem unteren negativen Bereich.

# 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 Sie können nach der offiziellen Erklärung zusammenbauen.

# 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 Sie können nach der offiziellen Erklärung zusammenbauen.

# 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

Löse AtCoder ABC166 mit Python
Löse AtCoder 167 mit Python
[AtCoder] Löse ABC1 ~ 100 Ein Problem mit Python
Löse AtCoder ABC168 mit Python (A ~ D)
[AtCoder] Lösen Sie ein Problem von ABC101 ~ 169 mit Python
AtCoder ABC 174 Python
AtCoder ABC 175 Python
Löse ABC166 A ~ D mit Python
Löse den Atcoder ABC169 A-D mit Python
Beheben von AtCoder-Problemen Empfehlung mit Python (20200517-0523)
Löse ABC168 A ~ C mit Python
AtCoder ABC 114 C-755 mit Python3 gelöst
Löse ABC162 A ~ C mit Python
Löse ABC167 A ~ C mit Python
Löse ABC158 A ~ C mit Python
Lösen mit Ruby und Python AtCoder ABC133 D Kumulative Summe
Ich wollte ABC160 mit Python lösen
Löse Mathe mit Python
Löse ABC169 mit Python
Löse POJ 2386 mit Python
Ich wollte ABC172 mit Python lösen
Fordern Sie AtCoder (ABC) 164 mit Python heraus! A ~ C Problem
Löse "AtCoder Version! Arimoto (Anfänger)" mit Python!
[Python] Löse Gleichungen mit Sympy
AtCoder ABC 177 Python (A ~ E)
Hellblau mit AtCoder @Python
AtCoder ABC 178 Python (A ~ E)
Atcoder ABC164 A-C in Python
Löse ABC176 E in Python
AtCoder ABC 176 Python (A ~ E)
Atcoder ABC167 A-D in Python
Löse ABC175 D in Python
Atcoder ABC165 A-D in Python
Atcoder ABC166 A-E in Python
AtCoder ABC 182 Python (A ~ D)
Atcoder ABC169 A-E in Python
AtCoder ABC177 A-D mit Python
Lösen mit Ruby, Perl, Java und Python AtCoder ABC 047 C Regulärer Ausdruck
atCoder 173 Python
AtCoder ABC176
Löse den Atcoder ABC176 (A, B, C, E) in Python
AtCoder ABC177
Lösen mit Ruby und Python AtCoder ABC084 D Kumulative Summe der Primzahlen
Solver> Link> Lösen Sie Excel Solver mit Python
Löse ABC036 A ~ C mit Python
Vorlage AtCoder ABC 179 Python (A ~ E)
Löse ABC037 A ~ C mit Python
[AtCoder Erklärung] Kontrollieren Sie ABC180 A, B, C Probleme mit Python!
Lösen mit Ruby und Python AtCoder ABC178 D Dynamische Planungsmethode
Lösen mit Ruby und Python AtCoder ABC151 D Suche nach Breitenpriorität
[AtCoder Erklärung] Kontrollieren Sie ABC158 A, B, C Probleme mit Python!
Lösen mit Ruby und Python AtCoder ABC011 C Dynamische Planungsmethode
Lösen mit Ruby und Python AtCoder ABC153 E Dynamische Planungsmethode
Lösen mit Ruby und Python AtCoder ABC138 D Benachbarte Liste