किसी भी तरह से क्यूब के 7 से 8 कोने तक संख्या 0 से असाइन करें। वास्तव में प्रत्येक वर्टेक्स को एक नंबर सौंपा जाना चाहिए।
उदाहरण के लिए, आपके शीर्षकों को इस तरह सौंपा जा सकता है:
3-----1
/| /|
4-----2 |
| | | |
| 5---|-0
|/ |/
6-----7
एक प्रोग्राम को 0 से 5 तक पूर्णांक में लिखें। इनमें से प्रत्येक 6 नंबर आपके क्यूब के बिल्कुल एक चेहरे के साथ जुड़ा हुआ है जिसे आप पसंद करते हैं। जब इन नंबरों में से एक इनपुट होता है, तो संबंधित चेहरे के 4 शीर्ष संख्याओं को अंकों के 2 × 2 वर्ग में स्टडआउट करने के लिए मुद्रित किया जाना चाहिए। चेहरे को क्यूब के बाहर से सीधा देखना है। सभी 4 फेस रोटेशन मान्य हैं।
उदाहरण के लिए, यदि 0 ऊपर के उदाहरण के घन के सामने वाले भाग से जुड़ा है, तो यह इनपुट के लिए एक मान्य आउटपुट होगा 0:
42
67
चेहरे को किसी भी 90 ° रोटेशन पर देखा जा सकता है, इसलिए ये भी मान्य हैं:
27
46
76
24
64
72
यह आउटपुट (और इसके घुमाव) मान्य नहीं हैं , क्योंकि वे चेहरे के गलत पक्ष से देखे जाते हैं:
24
76
एक ही विचार अन्य सभी चेहरों पर लागू होता है। उदाहरण के लिए यदि 1 बैक फेस से जुड़ा है, तो इनपुट 1आउटपुट उत्पन्न कर सकता है 13[newline]05(और 31[newline]50अमान्य होगा)।
तो असली चुनौती आपके वर्टेक्स नंबर और रोटेशन को चुन रही है जैसे कि इनपुट को उसके 4 वर्टेक्स नंबर में ट्रांसलेट करना आसान और छोटा है।
बाइट्स में सबसे छोटा कोड जीतता है। टाईब्रेकर पहले की पोस्ट है। ( आसान बाइट काउंटर। )
टिप्पणियाँ
- आप एक कार्यक्रम के बजाय एक समारोह लिख सकते हैं। इसे 0 से 5 तक पूर्णांक लेना चाहिए और 2 × 2 अंक ग्रिड स्ट्रिंग को प्रिंट या वापस करना चाहिए।
- स्टड, कमांड लाइन या फ़ंक्शन arg से इनपुट लें। आप मान सकते हैं कि इनपुट वैध है।
- आउटपुट में वैकल्पिक रूप से एक अनुगामी न्यूलाइन हो सकती है।
- अपने द्वारा चुने गए शीर्ष और चेहरे की संख्या हमें बताना सुनिश्चित करें।