Steenrod बीजगणित एक महत्वपूर्ण बीजगणित है जो बीजगणितीय टोपोलॉजी में आता है। Steenrod बीजगणित "Steenrod चौकों" नामक ऑपरेटरों द्वारा उत्पन्न होता है, प्रत्येक सकारात्मक पूर्णांक i के लिए मौजूद है। स्क्वेर्रोड बीजगणित के लिए एक आधार है, जिसमें स्क्वेरिंग ऑपरेशन में "स्वीकार्य मोनोमियल" शामिल हैं। इस आधार को उत्पन्न करना हमारा लक्ष्य है।
सकारात्मक पूर्णांक के एक अनुक्रम को स्वीकार्य कहा जाता है यदि प्रत्येक पूर्णांक अगले एक से कम से कम दो बार हो। तो उदाहरण के लिए [7,2,1]
स्वीकार्य है क्योंकि और । दूसरी ओर, [3,2]
स्वीकार्य वजह से नहीं है । (टोपोलॉजी में हम अनुक्रम के लिए लिखेंगे [7,2,1]
)।
एक अनुक्रम की डिग्री यह प्रविष्टियों की कुल है। तो उदाहरण के लिए, की डिग्री [7,2,1]
है । एक स्वीकार्य अनुक्रम की अधिकता पहला तत्व है शेष तत्वों की कुल संख्या, इसलिए [7,2,1]
अतिरिक्त ।
कार्य
एक प्रोग्राम लिखें जो सकारात्मक पूर्णांक की एक जोड़ी लेता है (d,e)
और डिग्री के सभी स्वीकार्य अनुक्रमों के सेट को आउटपुट करता है d
और इससे अधिक या उससे कम होता है e
। आउटपुट एक सेट है इसलिए स्वीकार्य अनुक्रमों का क्रम मायने नहीं रखता है।
उदाहरण:
Input: 3,1
Output: [[2,1]]
यहां हम कुल 3 के साथ स्वीकार्य अनुक्रमों की तलाश कर रहे हैं। दो विकल्प हैं, [3]
और [2,1]
। ( [1,1,1]
और [1,2]
3 राशि है, लेकिन स्वीकार्य नहीं हैं)। से अधिक [3]
3 और से अधिक [2,1]
है । इस प्रकार, अतिरिक्त साथ एकमात्र अनुक्रम है [2,1]
।
Input: 6, 6
Output: [[6], [5, 1], [4, 2]] (or any reordering, e.g., [[5,1],[4,2],[6]])
चूँकि अधिकता हमेशा डिग्री से कम या बराबर होती है, हमारी कोई अतिरिक्त स्थिति नहीं होती है। इस प्रकार, हम सिर्फ डिग्री 6. के सभी स्वीकार्य दृश्यों विकल्प हैं खोजने की कोशिश कर रहे हैं [6]
, [5, 1]
और [4, 2]
। (इनमें अतिरिक्त , , और ।)
Input: 10, 5
Output: [[7,3], [7,2,1], [6,3,1]]
डिग्री 10 के स्वीकार्य अनुक्रम हैं:
[[10], [9,1], [8,2], [7,3], [7,2,1], [6,3,1]]
इनमें क्रमशः , , , , , और होते हैं, इसलिए अंतिम तीन सभी काम करते हैं।
स्कोरिंग
यह कोड गोल्फ है: बाइट्स जीत में सबसे छोटा समाधान।
परीक्षण के मामलों:
आउटपुट का कोई भी रीऑर्डरिंग उतना ही अच्छा है, इसलिए इनपुट के लिए (3, 3)
, आउटपुट [[3],[2,1]]
या [[2,1],[3]]
समान रूप से स्वीकार्य हैं (हालांकि [[1,2],[3]]
ऐसा नहीं है)।
Input: 1, 1
Output: [[1]]
Input: 3, 3
Output: [[2,1], [3]]
Input: 3, 1
Output: [[2,1]]
Input: 6, 6
Output: [[6], [5, 1], [4, 2]]
Input: 6, 4
Output: [[5,1], [4,2]]
Input: 6, 1
Output: []
Input: 7, 7
Output: [[7], [6,1], [4,2,1], [5,2]]
Input: 7,1
Output: [[4,2,1]]
Input: 10, 10
Output: [[10], [9,1], [7,2,1], [6,3,1], [8,2], [7,3]]
Input: 10, 5
Output: [[7,3], [7,2,1], [6,3,1]]
Input: 26, 4
Output: [15, 7, 3, 1]
Input: 26, 6
Output: [[16, 7, 2, 1], [16, 6, 3, 1], [15, 7, 3, 1], [16, 8, 2], [16, 7, 3]]