एक और तारीख-हेरफेर समस्या: पी
कार्य
एक प्रोग्राम या एक फ़ंक्शन लिखें जो उपयोगकर्ता द्वारा दी गई दो तिथियों के बीच अंतर की गणना करता है।
इनपुट आउटपुट
पिछले एक के समान , इनपुट दो YYYYMMDD
एस हैं, एक अंतरिक्ष , एक अल्पविराम
,
, या एक शून्य चिह्न द्वारा अलग किए गए हैं -
।
इनपुट मानों का उदाहरण:
20100101-20010911
20110620-20121223
19000101 20101010
33330101,19960229
00010101 99991231
आउटपुट एक पूर्णांक है, जो दिनों में दो तिथियों के बीच अंतर है।
उदाहरण के लिए, इनपुट 20110101-20100101
पैदावार 365
, और 33320229 17000101
पैदावार 596124
।
आप परिणामों का परीक्षण कर सकते हैं यहा पर यहाँ पर । (रिंटन की टिप्पणी नीचे देखें।) यदि दो तिथियां समान हैं, तो कार्यक्रम को वापस आ जाना चाहिए 0
, यदि तिथि मान्य है ( स्कोर देखें )।
बंधन
बेशक, आपको किसी भी प्रकार के फ़ंक्शन / वर्ग / ... का उपयोग नहीं करना चाहिए , जो टाइमस्टैम्प या दिनांक से संबंधित हैं, और आपको ग्रेगोरियन कैलेंडर का उपयोग करना चाहिए ।
स्कोर
यदि आपका कोड प्रतिबंध नहीं रखता है, तो score = -∞
।
डिफ़ॉल्ट bonus
1 है।
- यदि आपका कोड इनपुट के क्रम की परवाह किए बिना काम करता है (उदाहरण के लिए,
20100101,20110101
रिटर्न365
या-365
)bonus+=1
,। - यदि आपका कोड वर्ष 0 को संभाल सकता है , तो
bonus+=0.5
। - यदि आपका कोड अमान्य माह (1 ~ 12 के बीच) / दिनांक (1 ~ 31 के बीच) को पहचानता है, जैसे
20109901
या34720132
, और प्रिंटE
(और प्रोग्राम को समाप्त करता है या ऐसा कुछ देता है0
)bonus+=1
,। - उपर्युक्त नियम के बावजूद, अपने कोड अमान्य दिनांक, जैसे को मान्यता देता है
20100230
,20100229
या20111131
, और प्रिंटE
(और समाप्त हो जाता है की तरह कार्यक्रम या रिटर्न कुछ0
),bonus+=1
। - उपरोक्त दो नियमों के बावजूद, यदि आपका कोड अमान्य इनपुट स्ट्रिंग को पहचानता है, जैसे
20100101|20100202
या2010010120100202
, और प्रिंटE
(और प्रोग्राम को समाप्त करता है या ऐसा कुछ देता है0
)bonus+=1
,।
score = floor(-4.2*code.length/bonus)
। उच्चतम स्कोर जीत के साथ कोड। यदि दो शीर्ष कोड में समान स्कोर है, तो उच्चतम बोनस जीत के साथ कोड। यदि दो शीर्ष कोड में समान स्कोर और बोनस दोनों हैं, तो उच्चतम वोटों वाले कोड जीतते हैं।
(वहां: जब 5 से अधिक कोड हों, जिनमें +1
वोट (या बराबर) से अधिक हों ।)
20040229
। : P
365*4 + 2 + 2
= 1464 के बाद से । जानकारी के लिए धन्यवाद!