A Nehmen Sie den 1. Platz heraus und teilen Sie den Fall.
# A
N = int(input())
n = N % 10
if n in [2, 4, 5, 7, 9]:
print('hon')
elif n in [0, 1, 6, 8]:
print('pon')
else:
print('bon')
B Vergleichen Sie die Länge von S mit K.
# B
K = int(input())
S = input()
len_S = len(S)
if len_S <= K:
print(S)
else:
print(S[:K] + '...')
C Sofort, wenn Sie eine Dreiecksfunktion verwenden.
# C
A, B, H, M = list(map(int, input().split()))
import math
A_x = A * math.cos(2 * math.pi * (H + M / 60.) / 12.)
A_y = A * math.sin(2 * math.pi * (H + M / 60.) / 12.)
B_x = B * math.cos(2 * math.pi * M / 60.)
B_y = B * math.sin(2 * math.pi * M / 60.)
print('{:.15f}'.format(math.sqrt((A_x - B_x) ** 2 + (A_y - B_y) ** 2)))
D Es kann leicht gefunden werden, indem eine Suche nach Breitenpriorität durchgeführt wird. Beachten Sie jedoch, dass das Erstellen einer benachbarten Matrix viel Zeit und Speicher benötigt. Zuerst dachte ich, ich sollte die Informationen der Vorgänger = True in scipys kürzestem Pfad verwenden, aber es hat nicht funktioniert (WA). .. .. Ich dachte, es würde funktionieren, weil ich nur den kürzesten Weg finden müsste. .. ..
# D
import numpy as np
from scipy.sparse import csr_matrix
from scipy.sparse.csgraph import breadth_first_order
N, M = list(map(int, input().split()))
ABs = np.array([list(map(int, input().split())) for i in range(M)])
row = ABs.T[0]-1
col = ABs.T[1]-1
data = [1] * (M)
csr = csr_matrix((data, (row, col)), shape=(N, N))
_, proc = breadth_first_order(csr, 0, directed=False)
if -9999 in proc[1:]:
print('No')
else:
print('Yes')
print('\n'.join((proc[1:]+1).astype('str')))
Recommended Posts