map
(führe eine Funktion auf jedem Iterator aus und gib sie auf dem Iterator zurück)filter
(nur das Ergebnis der Ausführung der Funktion für jeden Iterator ist True wird vom Iterator zurückgegeben))――In Wettkampfprofis sieht die Rundung der Ziffern manchmal als Code korrekt aus, aber es gibt Fälle, in denen es zu WA wird (5 und 14. oben).
from Decimal import decimal
ist erforderlich.--Wenn Sie nach Werten aus einer sortierten Liste suchen, ist es (häufig) besser, eine Dichotomie als eine lineare Suche durchzuführen.
Import halbiert
ist erforderlichDurch Verwendung der Dichotomie kann der Rechenaufwand im Vergleich zur linearen Suche von $ O (n) $ auf $ O (\ log n) $ reduziert werden.
AGC057 A Shik and Stone
# AGC057 A Shik and Stone
h,w = map(int, input().split())
_list = []
for i in range(h):
_list += list(input())
if _list.count("#") == (h+w-1):
print("Possible")
else:
print("Impossible")
ABC070 C Multiple Clocks
# ABC070 C Multiple Clocks
from functools import reduce
from fractions import gcd #python3.Vor 5
# from math import gcd #python3,5 oder später
def lcm_base(x,y):
return (x*y)//gcd(x,y)
def multi_lcm(numbers):
return reduce(lcm_base, numbers)
n = int(input())
t_list = [int(input()) for i in range(n)]
print(multi_lcm(t_list))
ABC123 C Five Transportations --Zeit erforderlich: -minutes --Point: Sie können verstehen, indem Sie ein Beispiel auf Papier schreiben
# ABC123 C Five Transportations
import math
n = int(input())
a = int(input())
b = int(input())
c = int(input())
d = int(input())
e = int(input())
_min = min([a,b,c,d,e])
_ans = math.ceil(n/_min)
print(_ans+4)
AGC008 A Simple Calculator Impressionen ――Es ist leicht zu sehen, aber es gibt überraschend viele Muster (vielleicht kann es schöner gemacht werden). ――Ich habe zweimal WA bekommen, weil ich eine grobe Musterteilung durchgeführt habe, als einer von beiden 0 war.
# AGC008 A Simple Calculator
x, y = map(int, input().split())
_x = abs(x)
_y = abs(y)
if x > 0 and y > 0:
if x <= y:
print(y-x)
else:
print(x-y+2)
elif x * y < 0:
print(abs(_y-_x)+1)
elif x == 0:
if y >= 0:
print(y)
else:
print(_y+1)
elif y == 0:
if x > 0:
print(x+1)
else:
print(_x)
else:
if _x < _y:
print(_y-_x+2)
else:
print(_x-_y)
Impressionen
#ARC059 C zusammen
n = int(input())
a_list = [int(x) for x in input().split()]
ave = ((sum(a_list) / len(a_list)) * 2 + 1) // 2
ans = sum([(x-ave)**2 for x in a_list])
print(int(ans))
Impressionen
#ABC047 C Eindimensionale Umkehrung
import itertools
s = itertools.groupby(list(input()))
ans = 0
for _ in s:
ans += 1
print(ans - 1)
ABC143 D Triangles
Bisect
).Mit der zweiten Option kann der Rechenaufwand von $ O (n ^ {3}) $ auf $ O (n ^ {2} \ log n) $ reduziert werden.
# ABC143 D Triangles TLE
n = int(input())
l_list = [int(x) for x in input().split()]
l_list.sort()
ans = 0
# (i < j < k) -> (_a < _b < _c)
for i in range(n-2):
_a = l_list[i]
for j in range(i+1,n-1):
_b = l_list[j]
_tmp = _a + _b
for k in range(j+1,n):
_c = l_list[k]
if _c < _tmp:
ans += 1
else:
break
print(ans)
# ABC143 D Triangles
import bisect
n = int(input())
l_list = [int(x) for x in input().split()]
l_list.sort()
ans = 0
for i in range(n-2):
_a = l_list[i]
for j in range(i+1,n-1):
_b = l_list[j]
_tmp = bisect.bisect_left(l_list, _a+_b)
if j < _tmp:
ans += _tmp - j - 1
print(ans)
Counter ()
lösen.#ABC035 B Drohne
from collections import Counter
s = Counter(input())
t = int(input())
l = s["L"]
r = s["R"]
u = s["U"]
d = s["D"]
q = s["?"]
x = r-l
y = u-d
if t == 1:
print(abs(x) + abs(y) + q)
else:
_tmp = abs(x) + abs(y)
if _tmp >= q:
print(_tmp - q)
elif (_tmp - q) % 2 == 0:
print("0")
else:
print("1")
AGC011 A Airport Bus
bisect ()
(Dichotomie) zu verwenden, aber es wurde TLE.
--Teil 2Ich habe erneut bestätigt, dass Daten, die oben in der Liste stehen, in die Warteschlange gestellt werden sollten.
# AGC011 A Airport Bus TLE
import bisect
n, c, k = map(int, input().split())
t_list = [int(input()) for _ in range(n)]
t_list.sort()
ans = 0
while len(t_list) > 0:
_tmp = t_list[0] + k
_idx = bisect.bisect_right(t_list, _tmp)
if c <= _idx + 1:
t_list = t_list[c:]
else:
t_list = t_list[_idx:]
ans += 1
print(ans)
# AGC011 A Airport Bus
import bisect
from collections import deque
n, c, k = map(int, input().split())
t_list = [int(input()) for _ in range(n)]
t_list.sort()
t_list = deque(t_list)
ans = 0
while len(t_list) > 0:
_tmp = t_list.popleft() + k
_idx = bisect.bisect_right(t_list, _tmp)
if c-1 <= _idx:
for _ in range(c-1):
t_list.popleft()
else:
for _ in range(_idx-1):
t_list.popleft()
ans += 1
print(ans)
AGC002 B Box and Ball
# AGC002 B Box and Ball
n, m = map(int, input().split())
b_list = [0] * (n+1)
b_list[1] = 1
c_list = [1] * (n+1)
for i in range(m):
_x, _y = map(int, input().split())
c_list[_x] -= 1
c_list[_y] += 1
if b_list[_x] == 1:
b_list[_y] = 1
if c_list[_x] == 0:
b_list[_x] = 0
print(sum(b_list))
ABC078 C HSI
# ABC078 C HSI
n, m = map(int, input().split())
i = (1/2)**m
x = (100*(n-m) + 1900*m) / i
print(int(x))
#ARC054 Ein beweglicher Bürgersteig
l, x, y, s, d = map(int, input().split())
ans = float("Inf")
j = (d-s)%l
r = (s-d)%l
ans = min(ans,j/(y+x))
if y > x:
ans = min(ans,r/(y-x))
print(ans)
ABC065 C Reconciled?
# ABC065 C Reconciled?
import math
n, m = map(int, input().split())
A = 10**9 + 7
if abs(n-m) > 1:
print("0")
elif n == m:
print(((math.factorial(m)**2)*2)%A)
else:
print((math.factorial(m)*math.factorial(n))%A)
math.sqrt ()
verwenden, können die Ziffern gerundet sein und Sie erhalten möglicherweise NG.
--Teil 2decimal.Decimal ()
berechnen.#Panasonic Programmierwettbewerb 2020 C Sqrt Ungleichung WA
import math
from decimal import Decimal
a, b, c = map(Decimal, input().split())
_a, _b, _c = map(math.sqrt, [a,b,c])
if _a + _b < _c:
print("Yes")
else:
print("No")
#Panasonic Programmierwettbewerb 2020 C Sqrt Ungleichung
from decimal import Decimal
a, b, c = map(int,input().split())
a, b, c = Decimal(a),Decimal(b),Decimal(c)
if a**Decimal("0.5") + b**Decimal("0.5") < c**Decimal("0.5"):
print('Yes')
else:
print('No')
Recommended Posts