ABC146A - Can't Wait for Holiday
Percer en deux minutes et demie. Il suffit d'écrire.
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)
Percer en 4 minutes et demie. Il suffit d'écrire.
N = int(input())
S = input()
print(''.join(chr((ord(c) - ord('A') + N) % 26 + ord('A')) for c in S))
Percer en 16 minutes. À première vue, je l'ai fait récemment. J'ai copié le code source de ABC144E --Gluttony et réécrit is_ok. , Ajusté et poi. Il a fallu beaucoup de temps pour s'adapter, donc je n'ai pas encore la formule pour faire le tour.
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
Perdu. Il semble qu'il y avait une politique d'algorithme de recherche de priorité de largeur ... La première chose que j'ai écrite était TLE, et celle que j'ai réécrit était parce que la structure des données était mauvaise et que j'ai mangé MLE ...
Hmmm, c'est dommage que je ne puisse pas passer ça pendant 77 minutes.
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