당신은 전함의 선장입니다. 엔지니어링 부서는 올해 디자인으로 모서리를 자르고 있으므로 선박은 단순한 삼각형 모양을 취합니다.
갑판 위로 걸어 가서 바닷 바람을 즐기십시오 ... 적군이 당신을 쏘았습니다! — 그러나 샷은 맞습니까?
입력
이 도전에 대한 함수 또는 전체 프로그램을 작성할 수 있습니다.
프로그램은 11 개의 정수를 취하는데 그 중 10 개는 짝을 이룹니다 :
정수의 첫 세 쌍 (x 1 , y 1 ), (x 2 , y 2 ), (x 3 , y 3 )은 선박의 정점을 지정합니다. 형성된 삼각형의 면적은 0이 아닙니다.
다음 정수 쌍 (e x , e y )은 적의 대포 위치를 지정합니다. 적의 대포는 배의 경계 안에 있지 않을 것입니다. *
그 후의 쌍 (a x , y y )은 적의 목표 위치를 지정합니다. 이것은 (e x , e y ) 와 구별됩니다 .
최종 양의 정수 R은 적의 사거리를 지정합니다
* 당신은 심지어 그런 일이 눈치 채지 않으면 끔찍한 선장이 될 것입니다!
산출
전함에 부딪히면 참 값 (예 : 참, 1)을 인쇄 / 반환해야하며 , 그렇지 않으면 거짓 값 (예 : 거짓, 0)을 반환해야합니다 .
히트 란 무엇입니까?
적은 총 (E에서 길이 (r)의 직선 세그먼트 X , 전자 Y (A 방향) X 하는 Y ). 이 선분이 삼각 전함 내부 의 일부와 겹치면 적중으로 간주됩니다. 그렇지 않으면 히트가 아닙니다.
삼각형의 경계를 따라 방목하거나 그에 도달하는 샷은 히트로 계산되지 않습니다.
예
0 0 0 1 1 0
1 1
0 0
2
적중 : 적군이 당신의 함선 중앙을 뚫었습니다!
2 0 0 2 4 4
0 0
1 1
1
적중 없음 : 적의 사거리가 너무 짧아서 안전합니다.
0 0 1 2 3 0
-4 0
0 0
8
적중 없음 : 적군이 당신 편의 측면을 움켜 쥐었으므로 적중으로 간주되지 않습니다. 럭키!
0 0 -1 3 4 -1
-3 -4
3 4
5
적중 없음 : 적의 사격이 함선 부족으로 중단되므로 안전합니다. 적의 대포가 약간 더 좋은 사거리를 가졌다면, 당신은 맞았을 것입니다! 휴!
-2 -3 -3 6 7 -2
-6 2
1 -4
7
명중 : 샷이 반대쪽으로 침투하지는 않았지만 여전히 명중입니다.
-3 2 2 -4 7 -3
-3 -4
-3 0
10
명중 : 기록상, 이것은 또 다른 결말입니다.
추가 테스트 사례
0 0 6 0 6 8
-6 -8
6 8
20
안타 : 이것은 또 다른 방목이지만 비스듬히 있습니다.
0 0 -2 -5 5 3
-3 4
0 0
6
적중 : 배의 정점을 통해 입력 한 샷.
채점
0 0 -1 3 4 -1 -3 -4 3 4 6
.