आप एक युद्धपोत के कप्तान हैं। इंजीनियरिंग विभाग इस साल डिजाइन के साथ कोनों को काट रहा है, इसलिए आप जिस जहाज पर हैं वह एक साधारण त्रिकोण का आकार लेता है।
आप डेक पर चलते हैं और समुद्री हवा का आनंद लेते हैं ... हालांकि लंबे समय तक नहीं। एक दुश्मन ने तुम पर गोली चलाई है! - लेकिन क्या गोली चलेगी?
इनपुट
आप इस चुनौती के लिए एक फ़ंक्शन या पूर्ण प्रोग्राम लिख सकते हैं।
आपका कार्यक्रम 11 पूर्णांक में होगा, जिनमें से दस जोड़े हैं:
पूर्णांक के पहले तीन जोड़े (x 1 , y 1 ), (x 2 , y 2 ), (x 3 , y 3 ) आपके जहाज के शीर्ष को निर्दिष्ट करेंगे। गठित त्रिकोण में गैर-अक्षीय क्षेत्र होगा।
पूर्णांक की अगली जोड़ी (e x , e y ) दुश्मन की तोप के स्थान को निर्दिष्ट करती है। दुश्मन तोप कभी भी, या आपके जहाज की सीमा के भीतर नहीं होगी। *
उसके बाद जोड़ी (एक एक्स , एक वाई ) निर्दिष्ट करती है कि दुश्मन का उद्देश्य कहां है। यह (e x , e y ) से अलग होगा ।
अंतिम सकारात्मक पूर्णांक आर दुश्मन के शॉट की सीमा को निर्दिष्ट करता है
* यदि आप ऐसा नहीं करते तो आप एक भयानक कप्तान होंगे!
उत्पादन
प्रिंट करें / एक वापसी truthy मूल्य (जैसे सच है, 1) युद्धपोत मारा जाएगा अगर, अन्यथा एक falsy मूल्य (जैसे झूठे, 0)।
हिट क्या है?
दुश्मन शॉट एक सीधी रेखा से (ड लंबाई आर के खंड है एक्स , ई y के (एक दिशा में) एक्स , एक 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।