दो वैक्टरों की ASCII कला को देखते हुए, परिणामी वेक्टर के परिमाण और डिग्री का पता लगाएं।
इनपुट
यह STDIN के माध्यम से प्राप्त किया जा सकता है, एक स्थानीय फ़ाइल से पढ़ा जा सकता है, या फ़ंक्शन कॉल के माध्यम से प्रदान किया जा सकता है। यहाँ एक दो वेक्टर इनपुट का एक उदाहरण दिया गया है:
^------>
|
|
|
x
यह उत्तर में 4 इकाइयों और पूर्व में 7 इकाइयों के परिवर्तन का प्रतिनिधित्व करता है। हर इनपुट के शुरुआती बिंदु को एक x(दशमलव 120) द्वारा दर्शाया जाएगा ।
सभी वैक्टर क्षैतिज या ऊर्ध्वाधर रेखाएं हैं।
प्रत्येक वेक्टर में इन चार समापन बिंदुओं में से एक है:
^v<>और एक डैश (-, दशमलव 45) या एक ऊर्ध्वाधर बार (|, दशमलव 124) से बना है।विमान पर खाली स्थान रिक्त स्थान (
, दशमलव 32) से भरे हुए हैं ।इनपुट एकल हो सकता है
x।आसन्न वैक्टर हमेशा एक-दूसरे के लंबवत होते हैं।
सभी वैक्टर टिप-टू-टेल हैं।
उत्पादन
यह परिणामी बिंदु का विस्थापन (प्रारंभिक बिंदु से दूरी) और उस बिंदु तक चला जाएगा, जो प्रारंभिक बिंदु के सापेक्ष है।
उपरोक्त इनपुट के लिए, आउटपुट 8.06यूनिट और 60.3डिग्री होना चाहिए । प्रत्येक में 3 महत्वपूर्ण आंकड़े होने चाहिए। यहां 3 महत्वपूर्ण अंकों के साथ कुछ उदाहरण दिए गए हैं:
- 1.00
- 60.1
- 453
- 7.08
- 4.50
- 349
सभी यूनिट माप होंगे <= 999।
इन नंबरों को नीचे प्रारूप में आउटपुट होना चाहिए। यह ऊपर से संख्याओं का उपयोग कर रहा है।
8.06 units @ 60.3 degrees
इसके बाद सिंगल ट्रेलिंग स्पेस या न्यूलाइन हो सकता है।
यदि इनपुट एक एकल है x, जिसमें कोई विस्थापन नहीं है और इसलिए विस्थापन का कोई कोण नहीं है, तो आउटपुट या तो एक खाली लाइन (एकल न्यूलाइन वर्ण) या निम्न प्रारूप में होना चाहिए:
0 units @ - degrees
यदि आप बोनस के लिए अर्हता प्राप्त करने की कोशिश कर रहे हैं, तो दिशा भी होनी चाहिए -।
इस मामले में कि बोनस 2, 3, या दोनों पूरे हो गए हैं, आउटपुट को नीचे दिए गए मॉडल का पालन करना चाहिए और ऊपर दिए गए प्रतिबंधों का पालन करना चाहिए।
8.06 units @ 60.3 degrees NE
मानक विमान के अनुसार डिग्री को मापा जाना चाहिए।
90
135 | 45
\|/
180 ---x---- 0
/|\
225 | 315
270
0डिग्री पूर्व है, 1 - 89डिग्री उत्तर-पूर्व है, 90उत्तर है, आदि।
बोनस
निम्नलिखित कुल -50% के लायक हैं।
प्रत्येक अतिरिक्त वेक्टर के लिए -10% बोनस लें, जिसे संभाला जा सकता है। इस बोनस को 3 बार तक लागू किया जा सकता है। वेक्टर्स कभी भी ओवरलैप या क्रॉस नहीं करेंगे।
यदि आपके आउटपुट में कोण (उत्तर, दक्षिण, पूर्व, पश्चिम) की कार्डिनल दिशा शामिल है तो -10% बोनस लें।
यदि आपके आउटपुट में कोण (उत्तर-पूर्व, उत्तर-पश्चिम, दक्षिण-पूर्व, दक्षिण-पश्चिम) का मध्यवर्ती निर्देश शामिल है तो -10% बोनस लें।
उदाहरण
में:
x---->
|
v
बाहर:
5.39 units @ 338 degrees
वैकल्पिक रूप से SE
में:
<--------------^
|
|
x
बाहर:
15.3 units @ 169 degrees
वैकल्पिक रूप से NW
में:
x
|
|<-----^
| |
v------>
बाहर:
2.24 units @ 297 degrees
वैकल्पिक रूप से SE
उदाहरण (एकाधिक वैक्टर)
में:
x--->
|
|
v----------->
बाहर:
16.3 units @ 349 degrees
वैकल्पिक रूप से SE
में:
<-------^
| |
| |
v |
|
|
x
बाहर:
8.54 units @ 159 degrees
वैकल्पिक रूप से NW
में:
^-->
| |
| v
|
<--------x
बाहर:
6.32 units @ 162 degrees
वैकल्पिक रूप से NW
x-->। क्या वैक्टर पार कर सकते हैं?
x। दो से अधिक हो सकते हैं (यदि बोनस पूरा करने का प्रयास), लेकिन कम नहीं। मैं कई वेक्टर इनपुट्स के उदाहरणों पर काम कर रहा हूं। किसी भी इनपुट में वैक्टर क्रॉस नहीं होंगे। @ थोमसकवा
x? उत्तर और उत्तर पश्चिम के बीच की सीमा क्या है?