परिचय
लगभग हर कोई ट्रैवलिंग सेल्समैन प्रॉब्लम (TSP) से परिचित है । यह कार्य N
शहरों की एक सूची को देखते हुए , न्यूनतम हैमिल्टन चक्र का पता लगाना है, जो कि सबसे छोटा रास्ता कहता है जो प्रत्येक शहर का दौरा करता है और शुरू में वापस पूर्ण-चक्र आता है। यह इस चुनौती के बारे में नहीं है। यह चुनौती TSP के चक नॉरिस के समाधान को लागू करने के लिए है:
चक नॉरिस ने
O(1)
समय में ट्रैवलिंग सेल्समैन समस्या को हल किया : सेल्समैन को एन टुकड़ों में तोड़ दें; प्रत्येक टुकड़े को एक अलग शहर में किक करें।
चुनौती
इस तरह से टीएसपी को हल करने के लिए, हमें एक पर्याप्त रूप से टिकाऊ सेल्समैन की जरूरत है, जो जमाव जैसी विसंगतियों से दूर नहीं जाएगा; कई शहरों का दौरा; बेचने के लिए उत्पादों का एक सेट; विघटन के लिए एक ठोस तरीका; और स्कोरिंग के लिए एक गणना।
विशिष्टता
- शहरों
N
हमारे सेल्समैन के आने की सूचना दी जाएगी
- विक्रेता
- मुख्य कार्यक्रम या समारोह
- भाषा में लिखा है
X
- लंबाई mod के
N
बराबर है0
- उत्पाद
- बहिष्कार
- सेल्समैन को
N
बराबर लंबाई के निरंतर टुकड़ों में विभाजित करना - प्रत्येक टुकड़ा भाषा में एक मान्य फ़ंक्शन या प्रोग्राम होना चाहिए
X
- सेल्समैन को
- उत्पादन
- जब सेल्समैन को निष्पादित किया जाना चाहिए
Chuck Norris
और कटा हुआ टुकड़े प्रत्येक आउटपुट को एक अलग उत्पाद बनाना चाहिए - केवल अतिरिक्त अनुगामी श्वेत स्थान स्वीकार्य है
- जब सेल्समैन को निष्पादित किया जाना चाहिए
- स्कोरिंग
L
बाइट्स में सेल्समैन की लंबाई, शहरों की संख्या से विभाजितN
, वर्ग।Score = L/(N*N)
- सबसे छोटा स्कोर जीतता है
- अपने दशमलव स्कोर को पोस्ट करते समय कृपया 3 महत्वपूर्ण आंकड़े शामिल करें
उदाहरण
- यह सेल्समैन 3 शहरों का दौरा
N=3
करता है और इसकी लंबाई 9 हैL=9
। इस प्रकार इस उत्तर के लिए स्कोर होगाS = 9 / (3 * 3) = 9/9 = 1
।- ध्यान दें कि सेल्समैन और प्रत्येक कटा हुआ टुकड़ा (जिनमें से 3 हैं), सभी एक ही भाषा में मान्य कार्यक्रम या कार्य होने चाहिए।
Program -> Output
------- ------
aaaBBBccc -> Chuck Norris
aaa -> Helium
BBB -> Iridium
ccc -> Tennessine
N=4
औरL=20
ऐसा हैS=20/16=1.25
Program -> Output
------- ------
aaaaaBBBBBcccccDDDDD -> Chuck Norris
aaaaa -> Hydrogen
BBBBB -> Cadmium
ccccc -> Mercury
DDDDD -> Iron
ElementData
अनुमति के अनुसार बिल्ट-इन हैं ? (मुझे संदेह है कि यह बहुत बचत करेगा, लेकिन मुझे नहीं पता।)