Es brach in anderthalb Minuten durch. Ich habe xor verwendet, aber der Titel war Not (lacht).
x = int(input())
print(x ^ 1)
In 2 Minuten durchbrechen. Eines der Enden sollte das Maximum sein.
a, b, c, d = map(int, input().split())
print(max(a * c, a * d, b * c, b * d))
Durchbruch in 5 Minuten. Subtrahieren Sie die Anzahl der Kombinationen, die keine 0 enthalten, und die Anzahl der Kombinationen, die keine 9 enthalten, von der Anzahl aller Kombinationen. Anschließend wird die Anzahl der Kombinationen, die nicht sowohl 0 als auch 9 enthalten, verdoppelt. Die Antwort ist, was ich zurück hinzugefügt habe.
m = 1000000007
N = int(input())
print((pow(10, N, m) - pow(9, N, m) * 2 + pow(8, N, m)) % m)
Durchbruch in 29 Minuten. Wenn die Länge der Sequenz n ist, wenn S-3 × n in n geteilt ist, wenn Sie über die Anzahl der Teilungen stöhnen, denken Sie, dass Sie eine Partitionsleiste einfügen werden ABC132D - Blau und rote Kugeln Ich habe es gelöst. Die Anzahl der Fälle, in denen eine Duplizierung von n Typen und die Auswahl von r möglich ist, ist n </ sub> > H
def make_factorial_table(n):
result = [0] * (n + 1)
result[0] = 1
for i in range(1, n + 1):
result[i] = result[i - 1] * i % m
return result
def mcomb(n, k):
if n == 0 and k == 0:
return 1
if n < k or k < 0:
return 0
return fac[n] * pow(fac[n - k], m - 2, m) * pow(fac[k], m - 2, m) % m
m = 1000000007
S = int(input())
fac = make_factorial_table(S + 10)
result = 0
for i in range(1, S // 3 + 1):
result += mcomb(S - i * 3 + i - 1, i - 1)
result %= m
print(result)
Ich konnte nicht durchbrechen. Ich war zuversichtlich, dass dieses Problem so gut gelöst war, und als ich bei "Maximum Manhattan Distance" googelte, kam es doch heraus, orz.
Recommended Posts