टॉम अपने आविष्कार की एक नई प्रोग्रामिंग भाषा को लागू करने जा रहा है। लेकिन वास्तव में इस पर काम शुरू करने से पहले, वह जानना चाहता है कि उसकी भाषा संवेदनशील होनी चाहिए या नहीं।
एक तरफ, मामला असंवेदनशीलता उसे लागू करने के लिए अधिक आसान लगती है, लेकिन वह चिंता करता है कि यह पात्रों के संयोजन की कमी का कारण बन सकता है जो एक चर बनाते हैं, जिसका अर्थ है कि लंबे समय तक चर नामों का उपयोग तब नामकरण से बचने के लिए किया जाना चाहिए (के लिए) एक उदाहरण के लिए, आप उपयोग कर सकते हैं Hello
, HEllo
, heLLo
और अन्य संभावनाओं का एक समूह है, तो भाषा केस संवेदी है, लेकिन केवल HELLO
अगर नहीं)।
लेकिन टॉम एक सावधानी बरतने वाला व्यक्ति है, इसलिए उसके लिए बस एक चिंता काफी नहीं है। वह संख्या जानना चाहता है।
चुनौती
एक फ़ंक्शन लिखें (या एक पूर्ण कार्यक्रम यदि आपकी भाषा उनका समर्थन नहीं करती है), जो कि n
इनपुट के रूप में एक पूर्णांक दिया गया है, आउटपुट n
संवेदनशीलता (या रिटर्न) केस संवेदनशीलता के साथ और बिना लंबाई के स्ट्रिंग के लिए क्रमपरिवर्तन की संख्या में अंतर है ।
टॉम की भाषा में, चर नाम में सभी वर्णमाला अक्षर, अंडरस्कोर और दूसरे वर्ण से शुरू हो सकते हैं, अंक।
परीक्षण के मामलों
Input (length of the variable) -> Output (difference between the possibilities with case sensitivity and the possibilities with case insensitivity)
0 -> 0
1 -> 26
2 -> 2340
5 -> 784304586
8 -> 206202813193260
9 -> 13057419408922746
गैर-प्रतिस्पर्धी C ++ संदर्भ कार्यान्वयन
void diff(int n) {
long long total[2] = {0, 0}; //array holding the result for case insensivity ([0]) and case sensitivity ([1])
for (int c = 1; c <= 2; c ++) //1 = insensitivity, 2 = sensitivity
for (int l = 1; l <= n; l ++) //each character of the name
if (l == 1)
total[c - 1] = 26 * c + 1; //first character can't be a number
else
total[c - 1] *= 26 * c + 1 + 10; //starting from the second character, characters can include numbers
std::cout << total[1] - total[0] << std::endl;
}
स्कोरिंग
टॉम को गोल्फ पसंद है, इसलिए बाइट्स में सबसे छोटा कार्यक्रम जीत जाता है।
ध्यान दें
यह ठीक है अगर हो सकता है कि अंतिम दो टेस्टकेस संख्यात्मक परिशुद्धता के कारण सही नहीं हैं। आखिरकार, मुझे यह भी पक्का नहीं है कि मेरा कोड नंबर 9 सही ढंग से संभाला गया है।