एक लगभग विशाल बिल्ली को अंतरिक्ष में गिरा दिया जाता है (चिंता मत करो, अंतरिक्ष सूट और सब कुछ के साथ) (x, y, z)
वेग के साथ बिंदु पर (vx, vy, vz)
। बिंदु पर एक निश्चित, असीम रूप से घना ग्रह है (0 की मात्रा के साथ) (0, 0, 0)
और यह r
त्वरण के साथ दूरी पर वस्तुओं को आकर्षित करता है 1/r^2
। न्यूटोनियन गुरुत्वाकर्षण के अनुसार, वस्तु समय के बाद कहां जाती है t
?
इस मामले में लगभग बड़े पैमाने पर मतलब है कि आप के मूल्य का उत्पादन कर रहे हैं lim (mass --> 0) <position of cat>
। द्रव्यमान ग्रह के गुरुत्वाकर्षण से प्रभावित होता है, लेकिन ग्रह बिल्ली के गुरुत्वाकर्षण से प्रभावित नहीं होता है। दूसरे शब्दों में, केंद्रीय निकाय तय हो गया है।
यह कुछ हद तक कोड गोल्फ के समान है : अंतरिक्ष यान का भाग्य क्या है? [फ्लोटिंग पॉइंट संस्करण] , लेकिन यह अलग है क्योंकि यह सटीकता को माप रहा है।
आप एक सिमुलेशन के आधार पर एक समाधान लागू कर सकते हैं, जो 3 सेकंड से कम समय में चलना चाहिए, या आप एक प्रोग्राम लागू कर सकते हैं जो सटीक मूल्य देता है (3 सेकंड से कम समय में भी चलना चाहिए)। नीचे स्कोरिंग विवरण देखें। यदि आप एक सिमुलेशन लागू करते हैं, तो यह सटीक होना जरूरी नहीं है, लेकिन अशुद्धि के कारण आपका स्कोर कम होगा।
इनपुट : x y z vx vy vz t
जरूरी नहीं कि x, y, z निर्देशांक, x, y और z दिशाओं और समय में क्रमशः वेग का प्रतिनिधित्व करने वाले पूर्णांक हों। यह गारंटी है कि बिल्ली की गति उस ऊंचाई पर भागने के वेग से कड़ाई से कम है। एक फ़ंक्शन के मापदंडों सहित इनपुट कहीं से भी लिया जा सकता है। कार्यक्रम को मेरे लैपटॉप पर तीन सेकंड से कम समय में चलना चाहिए t < 2^30
, जिसका अर्थ है, यदि आप एक सिमुलेशन चला रहे हैं, तो आपको अपने टाइमस्टेप को तदनुसार समायोजित करना होगा। यदि आप हर टेस्ट केस के लिए 3 सेकंड की सीमा पर टकराने की योजना बना रहे हैं, तो सुनिश्चित करें कि एक ट्यून करने योग्य पैरामीटर है जो इसे स्पीड गेन के लिए अधिक सटीक / कम सटीक बना सकता है, ताकि मैं इसे अपने कंप्यूटर पर तीन सेकंड में चला सकूं।
आउटपुट : x y z
समय के बाद की स्थिति t
।
चूंकि दो-शरीर की समस्या को पूरी तरह से हल किया जा सकता है, इसलिए एक सही, सही उत्तर प्राप्त करना संभव है।
स्कोरिंग : किसी भी परीक्षण के मामले में, त्रुटि को आपके आउटपुट और "सही" आउटपुट के बीच की दूरी के रूप में परिभाषित किया गया है। सही आउटपुट को परिभाषित किया जाता है कि टेस्ट केस स्निपेट उत्पन्न करता है। यदि त्रुटि से कम है 10^(-8)
, तो त्रुटि को शून्य तक गोल किया जाता है। आपका स्कोर 100 (या अधिक) यादृच्छिक परीक्षण मामलों पर औसत त्रुटि है। यदि आप एक सटीक उत्तर लिखते हैं, तो आपको 0 का स्कोर प्राप्त करना चाहिए; सबसे कम स्कोर जीतता है, और कोड की लंबाई से संबंध टूट जाएगा।
परीक्षण के मामले :
1 0 0 0 -1 0 1000000000 --> 0.83789 -0.54584 0
इस मामले में, कक्षा 2 * पी के साथ पूरी तरह से गोलाकार है, इसलिए 159154943 बार चक्कर लगाने के बाद, बिल्ली लगभग (0.83789, -0.54584) पर समाप्त होती है। यह एक ऐसा परीक्षण मामला नहीं है जिस पर आपके कोड का परीक्षण किया जाएगा; यदि आप बिलकुल सटीक उत्तर प्रस्तुत करते हैं, हालाँकि, आप इस पर परीक्षण करना चाहते हैं।
नीचे दिया गया स्निपेट यादृच्छिक अतिरिक्त परीक्षण मामलों को उत्पन्न करता है और सबमिशन का न्याय करने के लिए उपयोग किया जाएगा; मुझे बताएं कि क्या इसके साथ कोई बग है:
t
इकाई समय में दिया जाता है, जो कुछ भी है और वेग उसी इकाई का उपयोग करेगा। चाहे वह सेकंड या घंटों में हो, जवाब एक ही होगा।
nearly massless cat
खैर, बिल्ली का सटीक द्रव्यमान क्या होगा? क्या हमें सिर्फ 0
इस बिल्ली के द्रव्यमान के लिए एक मूल्य के रूप में उपयोग करना चाहिए ?
t
सेकंड में समय दिया जाता है? यदि ऐसा है, तो वेग प्रति सेकंड इकाइयों में दिया जाएगा, या कुछ छोटा होगा?