ABC146A - Can't Wait for Holiday
Brechen Sie in zweieinhalb Minuten durch. Schreiben Sie einfach.
S = input()
if S == 'SUN':
print(7)
elif S == 'MON':
print(6)
elif S == 'TUE':
print(5)
elif S == 'WED':
print(4)
elif S == 'THU':
print(3)
elif S == 'FRI':
print(2)
elif S == 'SAT':
print(1)
Brechen Sie in viereinhalb Minuten durch. Schreiben Sie einfach.
N = int(input())
S = input()
print(''.join(chr((ord(c) - ord('A') + N) % 26 + ord('A')) for c in S))
In 16 Minuten durchbrechen. Auf den ersten Blick habe ich es kürzlich getan. Ich habe den Quellcode von ABC144E --Gluttony kopiert und is_ok neu geschrieben. , Anpassen und Poi. Das Anpassen hat viel Zeit in Anspruch genommen, daher habe ich noch nicht die Formel, um herumzugehen.
A, B, X = map(int, input().split())
def is_ok(N):
return A * N + B * len(str(N)) <= X
ok = 0
ng = 10 ** 9 + 1
while ng - ok > 1:
m = (ok + ng) // 2
if is_ok(m):
ok = m
else:
ng = m
print(ok)
ABC146D - Coloring Edges on Tree
Verloren. Es scheint, dass es eine Algorithmusrichtlinie für die Suche nach Breitenprioritäten gab. Das erste, was ich schrieb, war TLE, und das, das ich neu schrieb, war, weil die Datenstruktur schlecht war und ich MLE gegessen habe ...
Hmmm, es ist schade, dass ich das 77 Minuten lang nicht bestehen kann.
from sys import setrecursionlimit
def genid(a, b):
if b < a:
a, b = b, a
return a * 100000 + b
def paint(currentNode, usedColor, parentNode, edges, colors):
color = 1
for childNode in edges[currentNode]:
if childNode == parentNode:
continue
if color == usedColor:
color += 1
colors[genid(currentNode, childNode)] = color
paint(childNode, color, currentNode, edges, colors)
color += 1
setrecursionlimit(100000)
N = int(input())
ab = [list(map(int, input().split())) for _ in range(N - 1)]
edges = [[] for _ in range(N)]
for a, b in ab:
edges[a - 1].append(b - 1)
edges[b - 1].append(a - 1)
colors = {}
paint(0, -1, -1, edges, colors)
print(max(len(e) for e in edges))
for a, b in ab:
print(colors[genid(a - 1, b - 1)])
Recommended Posts