यह एक गर्म गर्मी की शाम थी ...
जब मेरी बेवकूफ कार ने सुपरमार्केट से वापस अपने रास्ते पर सड़क के बीच में टूटने का फैसला किया। मैंने इसे किनारे पर धकेल दिया और घर चलने का फैसला किया। मैंने किराने और बचे हुए सामान को बाहर निकालने के लिए ट्रंक खोला। यह तब था जब मैंने देखा कि आइटम समान रूप से बैग में नहीं थे। कुछ थैलों में अधिक भारी सामान था जबकि कुछ में हल्का सामान था - कुछ में ऐसी वस्तुओं का मिश्रण भी था। मेरे लिए इसे ले जाना आसान बनाने के लिए, मैंने सब कुछ दो बैग में समूहित करने और जितना संभव हो एक दूसरे के करीब उनके वजन करने का फैसला किया।

आपका लक्ष्य
मुझे दो शॉपिंग बैग में आइटम को इस तरह से पुनर्व्यवस्थित करने में मदद करना है कि दोनों बैग के बीच अंतर शून्य के करीब हो।
गणितीय:
वजन छोड़ना हाथ - वजन सही AND 0
उदाहरण
अगर मेरे पास केवल 2 आइटम, ब्रेड और पीनट बटर, और ब्रेड का वजन 250 ग्राम और पीनट बटर 150 ग्राम है, तो सबसे अच्छा तरीका है कि आप उन्हें दो हाथों में अलग-अलग ले जाएं।
W LH - W RH = W (BREAD) - W (P.BUTTER)
250 - 150 = 100
अन्य संभावना है:
W (BREAD, P.BUTTER) - W (खाली हाथ) = (250 + 150) - 0 = 400
यह हमारे पहले मामले से बेहतर नहीं है, इसलिए आपको पहले वाले के साथ जाना चाहिए।
आपका कोड चाहिए
- शॉपिंग बैग में वस्तुओं के वजन का संकेत देने वाले नंबरों का इनपुट लें। इकाइयां महत्वपूर्ण नहीं हैं, लेकिन उन्हें समान होना चाहिए (आदर्श रूप से किलोग्राम या ग्राम)। इनपुट एक-एक करके या एक ही बार में किया जा सकता है। आप चाहें तो कुल गिनती को अधिकतम 20 आइटम तक सीमित कर सकते हैं।
- इनपुट प्रारूप / प्रकार का चयन करने के लिए आप पर निर्भर है, लेकिन वजन के अलावा और कुछ भी मौजूद नहीं होना चाहिए।
- किसी भी भाषा की अनुमति है, लेकिन मानक पुस्तकालयों से चिपके रहते हैं।
- आउटपुट प्रदर्शित करें। फिर से, आप प्रारूप का चयन करने के लिए स्वतंत्र हैं, लेकिन अपनी पोस्ट में प्रारूप की व्याख्या करें। यानी, हम यह कैसे बता सकते हैं कि कौन से व्यक्ति बाएं हाथ की वस्तु हैं और कौन से दाहिने हाथ की वस्तुएं हैं।
अंक
- सबसे छोटा कोड जीतता है।
संकेत
दो संभावित एल्गोरिदम जो मैं सोच सकता था कि वे भेदभाव (तेज) और क्रमपरिवर्तन / संयोजन (धीमे) हैं। आप इन या किसी अन्य एल्गोरिथ्म का उपयोग कर सकते हैं जो काम करता है।