सभी सामान्य पथ अवरुद्ध होने पर बाधाओं के माध्यम से सबसे छोटा रास्ता ढूंढें


10

मैं एक टॉवर रक्षा कर रहा हूं और मेरे पास काम करने के लिए बुनियादी रास्ते हैं, लेकिन मुझे एक समस्या मिली।

मैं पथ को अवरुद्ध करना चाहता हूं, और जब एक ब्लॉक होता है तो धावक अवरुद्ध टॉवर पर हमला करेंगे।

इसलिए मुझे जो सबसे छोटा रास्ता खोजने की जरूरत है, वह है, अधिक महत्वपूर्ण बात, रास्ते में टावरों की संख्या सबसे कम है।

मैं उसको कैसे करू?


1
अपने चलने योग्य पथ के भीतर एक टकराव का पता लगाने वाला नहीं होगा?
प्रिक्स

चूंकि अवरुद्ध टॉवर विनाशकारी हैं, वास्तव में एक रास्ता है। बस उनके माध्यम से चलने की लागत एक अबाधित पथ के साथ बढ़ने की तुलना में अधिक है। (नीचे दिए गए कोडरंग से उत्तर देखें)
बम्मुजैक

जवाबों:


21

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


इस कार्यान्वयन का एक कोड उदाहरण देखना पसंद करेंगे, सरल और मजबूत ध्वनि
DFectuoso

3
ए * एल्गोरिथ्म ( en.wikipedia.org/wiki/A * _search_algorithm) पथ लागत के साथ काम करता है। बस एक टॉवर के माध्यम से चलने वाले खंडों के लिए लागत में वृद्धि करें। आपके एजेंट तब टावरों से बचने की कोशिश करेंगे, या यदि किसी टॉवर पर हमला करने के लिए "सस्ता" है, तो वे उस पर हमला करेंगे। ए * एल्गोरिथ्म का विचार लागत को कम करना है, इसलिए आपको केवल उन लागतों को प्राप्त करने में सक्षम होना चाहिए जो आप चाहते हैं ...
बंमज़ैक

यह एक महान समाधान है जिसके बारे में मैंने नहीं सोचा होगा, धन्यवाद!
झॉकिंग

बस एक ध्यान दें: टॉवर देने से ए * एल्गोरिथ्म के लिए उपयोग किए जाने वाले अनुमान को बढ़ाए बिना एक विशाल आंदोलन लागत का पता चलता है जब पथ स्पष्ट रूप से अवरुद्ध होता है, तो इसका मतलब यह होगा कि आपके एजेंट ब्रेक पर निर्णय लेने से पहले बाधा के अपने हिस्से पर प्रत्येक नोड की जांच करेंगे- बिंदु के माध्यम से। नोड्स और एजेंटों की मात्रा के आधार पर, यह एल्गोरिथ्म को निषेधात्मक रूप से धीमा कर सकता है।
मार्टिन सोज्का
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.