outgolfer Erik 덕분에 -1 바이트 (빠른 활용 ¥
)
SHð;_P
ṗ3Ç⁼¥Ðf²Ḣ
헤론 공식의 무차별 적용.
온라인으로 사용해보십시오! (114 테스트 사례의 경우 60 초 시간 초과에 도달합니다. 로컬로 3m 30 초 소요-114 3 = 1,481,544 3 배검사
어떻게?
진정한 골프 솔루션 - 지역 주어진이 a
발견 한 모든 사이 세 정수의 튜플 1
과 a
(심지어 반복 삼각형없이 지역의 사람과)를, 그렇지 않은 경우에도 정지 한 빨리 수행 (원하는 지역과 사람들을 위해 자신의 영역과 필터를 얻는다 하나가 발견되면 모두 쟁기질하고 나중에 첫 번째 결과가 나타납니다. 산출 0
존재하지 않는 경우는.
SHð;_P - Link 1, get the square of the area of a triangle: list of sides
S - sum the sides (get the perimeter)
H - halve
ð - dyadic chain separation (call that p)
_ - subtraction (vectorises) = [p-side1, p-side2, p-side3]
; - concatenate = [p, p-side1, p-side2, p-side3]
P - product = p*(p-side1)*(p-side2)*(p-side3)
= the square of Heron's formula = area squared
ṗ3Ç⁼¥Ðf²Ḣ - Main link: number a (area)
ṗ3 - third Cartesian power (all triples of [1,area] : [[1,1,1],[1,1,2],[1,2,1],[1,2,2],[2,1,1],[2,1,2],[2,2,1],[2,2,2], ... ,[a,a,a]]
² - square a
Ðf - filter keep if:
¥ - last two links as a dyad:
Ç - call last link (1) as a monad f(list of sides)
⁼ - left (that result) equals right (square of a)?
Ḣ - head - get the first one (an empty list yields 0, perfect for the falsey case)