Ich habe bis kurz zuvor geschlafen, ich war müde, ich war müde. Aus diesem Grund war ich zu spät gekommen, um die A- und B-Probleme zu lösen, und ich habe auch eine hilflose WA ausgegeben. Nun, ich bin schlecht, weil das Management der körperlichen Verfassung auch Teil des Wettbewerbs ist. Also Yoshi!
Brechen Sie in zweieinhalb Minuten durch. Schreiben Sie einfach.
N = int(input())
if N % 1000 == 0:
print(0)
else:
print(1000 - N % 1000)
ABC173B - Judge Status Summary
Brechen Sie in 4 Minuten durch. Schreiben Sie einfach.
N = int(input())
S = [input() for _ in range(N)]
d = {'AC': 0, 'WA': 0, 'TLE': 0, 'RE': 0}
for s in S:
d[s] += 1
print('AC x', d['AC'])
print('WA x', d['WA'])
print('TLE x', d['TLE'])
print('RE x', d['RE'])
Brechen Sie in 6 ½ Minuten durch. Wenn Sie sich die Einschränkungen ansehen, ist die Suche auf einen Blick etwas vollständig. In letzter Zeit gibt es viele vollständige Suchvorgänge? (Nun, diesmal ist es eine Doppelschleife)
from itertools import product
H, W, K = map(int, input().split())
c = [input() for _ in range(H)]
result = 0
for a in product([True, False], repeat=H):
for b in product([True, False], repeat=W):
t = 0
for y in range(H):
if a[y]:
continue
for x in range(W):
if b[x]:
continue
if c[y][x] == '#':
t += 1
if t == K:
result += 1
print(result)
Durchbruch in 14 Minuten. WA1. N -1 bis N sowieso. Ich könnte nicht anders, wenn ich auch nur eine Probe probieren würde.
Wenn Sie es von Hand versuchen, wenn A in absteigender Reihenfolge als 1 </ sub>, a 2 </ sub>, ..., a N </ sub> sortiert ist , A 1 </ sub> + a 2 </ sub> + a 2 </ sub> + a 3 </ sub> + a 3 </ sub> + ... Ich wusste, dass es so sein würde, also reichte ich es und AC ein.
N = int(input())
A = list(map(int, input().split()))
A.sort(reverse=True)
result = 0
for i in range(N - 1):
result += A[(i + 1) // 2]
print(result)
Durchbruch in 41 Minuten. WA1. Die positive Route wurde falsch identifiziert.
Schauen Sie sich zunächst die Zahl an und prüfen Sie, ob sie positiv, 0 oder negativ ist. Wenn sie positiv ist, ist der Absolutwert groß, und wenn sie negativ ist, ist der Absolutwert klein. Gut. Beachten Sie, dass Sie im positiven Fall nur zwei negative Werte verwenden können.
N, K = map(int, input().split())
A = list(map(int, input().split()))
m = 1000000007
a = [e for e in A if e > 0]
b = [e for e in A if e < 0]
c = [e for e in A if e == 0]
#Plus Route
if len(a) >= K - (min(K, len(b)) // 2) * 2:
a.sort(reverse=True)
b.sort()
result = 1
i = 0
j = 0
k = 0
while k < K:
if k < K - 1 and i < len(a) - 1 and j < len(b) - 1:
x = a[i] * a[i + 1]
y = b[j] * b[j + 1]
if y >= x:
result *= y
result %= m
j += 2
k += 2
else:
result *= a[i]
result %= m
i += 1
k += 1
elif k < K - 1 and j < len(b) - 1:
y = b[j] * b[j + 1]
result *= y
result %= m
j += 2
k += 2
elif i < len(a):
result *= a[i]
result %= m
i += 1
k += 1
elif j < len(b):
result *= b[j]
result %= m
j += 1
k += 1
print(result)
#0 Route
elif len(c) != 0:
print(0)
#Minusroute
else:
a.sort()
b.sort(reverse=True)
result = 1
i = 0
j = 0
k = 0
while k < K:
if i < len(a) and j < len(b):
if a[i] <= -b[i]:
result *= a[i]
result %= m
i += 1
k += 1
else:
result *= b[j]
result %= m
j += 1
k += 1
elif i < len(a):
result *= a[i]
result %= m
i += 1
k += 1
elif j < len(b):
result *= b[j]
result %= m
j += 1
k += 1
print(result)
Ich konnte es nicht lösen. Ich konnte mir nur eine Lösung für * O * (* N * 2 </ sup>) vorstellen.
Recommended Posts