मुसीबत
कल्पना कीजिए कि 7 बाल्टियाँ पंक्तिबद्ध थीं। प्रत्येक बाल्टी में अधिकतम 2 सेब हो सकते हैं। 1 के माध्यम से 1 के माध्यम से लेबल किए गए 13 सेब हैं। उन्हें 7 बाल्टी के बीच वितरित किया जाता है। उदाहरण के लिए,
{5,4}, {8,10}, {2,9}, {13,3}, {11,7}, {6,0}, {12,1}
जहां 0 खाली जगह का प्रतिनिधित्व करता है। प्रत्येक बकेट के भीतर सेब दिखाई देने वाला क्रम प्रासंगिक नहीं है (जैसे {5,4} {4,5} के बराबर)।
आप किसी भी सेब को एक बाल्टी से एक बगल की बाल्टी में स्थानांतरित कर सकते हैं, बशर्ते दूसरे सेब के लिए गंतव्य बाल्टी में कमरा हो। प्रत्येक चाल को उस सेब की संख्या से वर्णित किया जाता है जिसे आप स्थानांतरित करना चाहते हैं (जो असंदिग्ध है क्योंकि केवल एक खाली जगह है)। उदाहरण के लिए, इस कदम को लागू करना
7
इसके बाद के संस्करण की व्यवस्था में परिणाम होगा
{5,4}, {8,10}, {2,9}, {13,3}, {11,0}, {6,7}, {12,1}
उद्देश्य
एक प्रोग्राम लिखें जो एसटीडीआईएन से एक व्यवस्था पढ़ता है और इसे निम्नलिखित व्यवस्था में क्रमबद्ध करता है
{1,2}, {3,4}, {5,6}, {7,8}, {9,10}, {11,12}, {13,0}
जितना संभव हो उतना कम चाल का उपयोग करना। फिर, जिस क्रम में प्रत्येक बाल्टी के भीतर सेब दिखाई देते हैं वह प्रासंगिक नहीं है। बाल्टियों का क्रम मायने रखता है। इसे कॉमा द्वारा अलग की गई प्रत्येक व्यवस्था को क्रमबद्ध करने के लिए उपयोग किए जाने वाले चालों का उत्पादन करना चाहिए। उदाहरण के लिए,
13, 7, 6, ...
आपका स्कोर निम्नलिखित व्यवस्थाओं को हल करने के लिए आवश्यक चालों की संख्या के योग के बराबर है:
{8, 2}, {11, 13}, {3, 12}, {6, 10}, {4, 0}, {1, 7}, {9, 5}
{3, 1}, {6, 9}, {7, 8}, {2, 11}, {10, 5}, {13, 4}, {12, 0}
{0, 2}, {4, 13}, {1, 10}, {11, 6}, {7, 12}, {8, 5}, {9, 3}
{6, 9}, {2, 10}, {7, 4}, {1, 8}, {12, 0}, {5, 11}, {3, 13}
{4, 5}, {10, 3}, {6, 9}, {8, 13}, {0, 2}, {1, 7}, {12, 11}
{4, 2}, {10, 5}, {0, 7}, {9, 8}, {3, 13}, {1, 11}, {6, 12}
{9, 3}, {5, 4}, {0, 6}, {1, 7}, {12, 11}, {10, 2}, {8, 13}
{3, 4}, {10, 9}, {8, 12}, {2, 6}, {5, 1}, {11, 13}, {7, 0}
{10, 0}, {12, 2}, {3, 5}, {9, 11}, {1, 13}, {4, 8}, {7, 6}
{6, 1}, {3, 5}, {11, 12}, {2, 10}, {7, 4}, {13, 8}, {0, 9}
हां, इनमें से प्रत्येक व्यवस्था का एक समाधान है।
नियम
- आपका समाधान बहुपदीय समय में प्रति चाल बाल्टी की संख्या में चलना चाहिए। बात यह है कि चतुर उत्तराधिकारियों का उपयोग करना है।
- सभी एल्गोरिदम को नियतात्मक होना चाहिए।
- एक टाई की स्थिति में, सबसे छोटी बाइट गिनती जीत जाती है।