늒네 기록

[BOJ-JS] 1894번 - 4번째 점 본문

알골 공부 기록/BOJ

[BOJ-JS] 1894번 - 4번째 점

jaeha lee 2024. 5. 1. 01:04

 

1894번: 4번째 점 (acmicpc.net)

 

평행사변형에는 대각선이 두개 있는데, 각각 선분AC와 선분BD라고 하자.

이때 두 선분의 중점이 일치하는데, 그 말은 원점 O가 있을때 (벡터OA+벡터OC)/2 = (벡터OB+벡터OD)/2라는 뜻이므로, 우리가 세 점 A, B, C를 알고 있을때 D의 좌표를 구하고 싶다면 A + C - B = D를 활용하면 된다는 말이기도 하다.

그런데 우리에게는 이웃한 두 변이 주어지는데, 이때 두 변에 동시에 존재하는 점이 B가 되므로, 주어진 변의 정보를 잘 보고 A, B, C를 구해서 D의 위치를 계산하면 된다.

a=(require('fs').readFileSync(0)+0).split`
`
a.map(i=>{
    [a,b,c,d,e,f,g,h]=i.split` `.map(j=>+j)
    x=a+e-c;y=b+f-d
    if(a==e&&b==f){x=c+g-a;y=d+h-b}
    if(a==g&&b==h){x=c+e-a;y=d+f-b}
    if(c==e&&d==f){x=a+g-c;y=b+h-d}
    if(f)console.log(x.toFixed(3),y.toFixed(3))
})
반응형
Comments