Ich habe AtCoder ABC164 mit Python herausgefordert! Dies ist die zweite Herausforderung für Rated. Ich habe von A nach C gelöst. D Das Problem war TLE.
Wenn s größer als w ist, ist es sicher, andernfalls ist es unsicher.
A.py
s, w = map(int, input().split())
if s > w:
print("safe")
else:
print("unsafe")
Drehen Sie in einer Endlosschleife, bis a oder c kleiner oder gleich 0 ist Takahashi-kun ist der erste Spieler. Wenn also beide negativ sind, gewinnt Takahashi-kun. Schreiben wir also zuerst den Code, um flg1 zu verarbeiten.
B.py
a, b, c, d = map(int, input().split())
flg1 = False
flg2 = False
while True:
c -= b
a -= d
if c <= 0:
flg1 = True
if a <= 0:
flg2 = True
if flg1:
print("Yes")
exit()
if flg2:
print("No")
exit()
Sie können Duplikate beseitigen, indem Sie zu set () wechseln. Die Antwort ist die Nummer ohne Vervielfältigung.
C.py
n = int(input())
s = [str(input()) for _ in range(n)]
print(len(set(s)))
Da es sich um eine Doppelschleife handelt, ist der Rechenaufwand zu groß geworden. In diesem Code ist es TLE.
D.py
s = input()
keta = len(s)
ans = 0
mul = []
for i in range(100):
if "0" in str(2019 * i):
pass
else:
mul.append(str(2019 * i))
for i in range(len(mul)):
for j in range(0, keta + 1 - len(str(mul[i]))):
if s[j : j + len(mul[i])] == mul[i]:
ans += 1
print(ans)
Dies war meine zweite Herausforderung Ich dachte, dass Problem A sowieso hätte gelöst werden können, aber ich löste es als B und C, ohne zu bemerken, dass ich unsicher und sicher umgekehrt hatte, so dass die Leistung erheblich sank. Ich möchte vom nächsten Mal an vorsichtig sein
Recommended Posts