Es war das gleiche, auch wenn es keine Kollision gab, weil die Geschwindigkeit übernommen wurde und dachte: "Es ist sehr schwierig, die Kollisionszeit in der richtigen Reihenfolge zu berechnen und zu verarbeiten!". Sie wurde eingehakt und getötet.
Die Antwort ist, dass D durch die Gesamtgeschwindigkeit geteilt und aufgerundet wird.
N, D = map(int, input().split())
x = list(map(int, input().split()))
v = list(map(int, input().split()))
t = sum(v)
print((D + t - 1) // t)
Ich konnte es nicht lösen. Ich fragte mich, ob Fermats Theorem involviert war, aber ich konnte mir keine mathematische Umrechnung vorstellen.
Nachtrag: A b c </ sup> </ sup> ist A b × c </ sup> ist eine rudimentäre Mathematik. Hier ist A P. ! </ sup> ist A P × (P-1) × (P-2)! </ Sup> = A P × (P-2)! × (P-1) </ sup > = A P × (P-2)! P-1 </ sup> </ sup>. Nach dem Satz von Fermat ist A P × (P-2) Wenn! </ Sup> mit P primiert ist, dann ist A P! </ Sup> = 1 (mod P). Sie müssen nur beurteilen, ob es ist. Wie in der Problembeschreibung angegeben, handelt es sich in Python um TLE. Daher muss der folgende Code in PyPy übermittelt werden. Nachtrag: Es war leichter zu verstehen, ob es in A P-1 P × (P-2) umgeordnet wurde! </ Su> </ sup>. 1 P × (P-2)! < / sup> oder 0 P × (P-2)! </ sup>, also ist 1 oder 0 ein Blick. Nachtrag: Ich habe auch Python bestanden. Nachdem ich geschrieben hatte, dass es durch das kumulative Produkt leicht gelöst werden kann, war ich süchtig danach, nicht darüber nachzudenken, was passieren würde, wenn A i, j </ sub> 0 wäre. Berechnen Sie das kumulative Produkt ohne 0 für alle, jede Zeile und jede Spalte. Füllen Sie die Zeile r i </ sub> von oben oder die Spalte c i </ sub> von links aus. Wenn jedoch noch Nullen übrig sind, lautet die Antwort auf diese Abfrage 0.0 Wenn keine Nullen mehr vorhanden sind, kann * O * (1) verwendet werden, um die Antwort auf die Abfrage unter Verwendung des vorberechneten kumulativen Produkts zu berechnen.
Recommended Posts
def make_prime_table(n):
sieve = list(range(n + 1))
sieve[0] = -1
sieve[1] = -1
for i in range(2, int(n ** 0.5) + 1):
if sieve[i] != i:
continue
for j in range(i * i, n + 1, i):
if sieve[j] == j:
sieve[j] = i
return sieve
readline = open(0).readline
prime_table = make_prime_table(5 * 10 ** 6)
T = int(readline())
result = []
for _ in range(T):
A, P = map(int, readline().split())
if prime_table[P] != P:
result.append(-1)
else:
if A % P == 0:
result.append(0)
else:
result.append(1)
print(*result, sep='\n')
def make_prime_table(n):
sieve = [True] * (n + 1)
sieve[0] = False
sieve[1] = False
for i in range(2, int(n ** 0.5) + 1):
if not sieve[i]:
continue
for j in range(i * i, n + 1, i):
sieve[j] = False
return sieve
def main():
readline = open(0).readline
prime_table = make_prime_table(5 * 10 ** 6)
T = int(readline())
result = []
for _ in range(T):
A, P = map(int, readline().split())
if not prime_table[P]:
result.append(-1)
else:
if A % P == 0:
result.append(0)
else:
result.append(1)
print(*result, sep='\n')
main()
C 1141 Field Grid
readline = open(0).readline
H, W = map(int, readline().split())
A = [list(map(int, readline().split())) for _ in range(H)]
Q = int(readline())
m = 1000000007
total = 1
rows = [1] * H
cols = [1] * W
total0 = 0
rows0 = [0] * H
cols0 = [0] * W
for i in range(H):
for j in range(W):
x = A[i][j]
if x == 0:
total0 += 1
rows0[i] += 1
cols0[j] += 1
else:
total *= x
total %= m
rows[i] *= x
rows[i] %= m
cols[j] *= x
cols[j] %= m
result = []
for _ in range(Q):
r, c = map(lambda x: int(x) - 1, readline().split())
x = A[r][c]
t = total0 - rows0[r] - cols0[c]
if x == 0:
t += 1
if t > 0:
result.append(0)
continue
t = total * pow(rows[r], -1, m) % m * pow(cols[c], -1, m) % m
if x != 0:
t *= x
t %= m
result.append(t)
print(*result, sep='\n')