एक माइनफील्ड पर पोलाइट नियर-सिटेड ड्रंक बॉट


11

जैसा कि शीर्षक सुझाव दे सकता है, यह समस्या पोली नियर- साइटेड ड्रंक बॉट द्वारा @ एनपी द्वारा अर्ध-प्रेरित है

हमारे खराब बॉट को मूल में एक कार्टेशियन ग्रिड पर रखा गया है, और प्रत्येक मिनट के बाद, यह चार दिशाओं (ऊपर, नीचे, बाएं, दाएं) में से एक में 1 इकाई को स्थानांतरित करता है।

N मिनटों के बाद , ग्रिड पर अव्यक्त खानों के सभी सक्रिय होते हैं, किसी भी गरीब बॉट को मारते हैं जो खुद को उन पर पा सकते हैं। खानों को समीकरण को संतुष्ट करने वाले सभी पूर्णांक निर्देशांक पर स्थित हैं | y | = | x |

चुनौती

आपको एन प्रदान किया जाएगा , माइंस विस्फोट से पहले मिनटों की संख्या, एक इनपुट के रूप में, और आउटपुट के रूप में, आपको यह संभावना मिलनी चाहिए कि बॉट मर चुका है

इनपुट : एक प्राकृतिक संख्या का प्रतिनिधित्व n

आउटपुट : संभावना दें कि बॉट मर चुका है p / q, जहां p और q अपेक्षाकृत प्राइम पूरे नंबर हैं (q 0 नहीं हो सकता है, लेकिन p can)। आउटपुट पी।

नियम

  • आपका एल्गोरिथ्म घातीय या उच्च समय में नहीं चलना चाहिए । यह आदर्श रूप से बहुपद या कम समय में चलना चाहिए।
  • आपका एल्गोरिथ्म nउचित समय में <20 के इनपुट को संभालने में सक्षम (यदि बहुत कठिन हो तो समायोजित किया जा सकता है) होना चाहिए।
  • यह एक चुनौती है।
  • किसी दिए गए n के लिए सभी संभावनाओं पर विचार करना निश्चित रूप से एक उत्तर के रूप में स्वीकार नहीं किया जाएगा।

परीक्षण के मामलों

1->0

2->3

4->39

6->135

8->7735

10->28287

उदाहरण एन = 6 के लिए गणना

हमारे पास 4 संभावित चालें हैं: यू, डी, आर, और एल। जो रास्ते ले सकते हैं उनकी कुल संख्या 4 ^ 6, या 4096 है। 4 संभावित मामले हैं जो लाइन y के साथ भूमि हैं = x: x, y = ± 1; x, y = ± 2; x, y = ± 3; या x = y = 0. हम (चतुर्थांश), (2,2), और (3,3) को समाप्त करने के तरीकों की संख्या की गणना करेंगे, अन्य चतुर्थांश के लिए उन्हें 4 से गुणा करेंगे, और जोड़ेंगे (0,0) पर समाप्त करने के तरीकों की संख्या के लिए यह।

केस 1: बॉट (3, 3) पर समाप्त होता है। बॉट को समाप्त करने के लिए, इसमें 3 सही मूव्स और 3 अप मूव्स होने चाहिए। दूसरे शब्दों में, यहां पहुंचने के तरीकों की कुल संख्या के क्रम में अक्षरों को फिर से व्यवस्थित करने के तरीके हैं RRRUUU, जो 6 है 3 = 20 चुनें।

केस 2: बॉट (2,2) पर समाप्त होता है। बॉट के लिए यहां समाप्त होने के लिए, इसमें 2 अप मूव, 3 राइट मूव और 1 लेफ्ट मूव हो सकता था; या 2 सही मूव, 3 अप मूव और 1 डाउन मूव। इस प्रकार, यहाँ प्राप्त करने के तरीकों की कुल संख्या क्रमों में अक्षरों को फिर से व्यवस्थित करने का योग है। आरआरआरएलयूयू और यूयूडीआरआर, दोनों में से (6 का चयन 1) * (5 का चयन 2) = 60, कुल 120 संभावनाओं के लिए। ।

केस 3: बॉट (1,1) पर समाप्त होता है। बॉट के लिए यहां समाप्त होने के क्रम में, यह हो सकता था: 1 सही चाल, 3 ऊपर की चाल और 2 नीचे की चाल। इस मामले में, अनुक्रम RUUUDD में अक्षरों को पुनर्व्यवस्थित करने के तरीकों की संख्या है (6 चुनें 1) * (5 चुनें 2) = 60।

1 अप मूव, 3 राइट मूव्स, और 2 लेफ्ट मूव्स। इस मामले में, URRRLL अनुक्रम में अक्षरों को फिर से व्यवस्थित करने के तरीकों की संख्या है (6 चुनें 1) * (5 चुनें 2) = 60।

2 राइट मूव, 1 लेफ्ट मूव, 2 अप मूव और 1 डाउन मूव। इस स्थिति में, UUDRRL में अक्षरों को फिर से व्यवस्थित करने के तरीकों की संख्या (6 चुनें 1) * (5 चुनें 1) * (4 चुनें 2) = 180 है।

इस प्रकार, (1,1) पर समाप्त होने के तरीकों की कुल संख्या 300 है।

केस 4: बॉट (0,0) पर समाप्त होता है। बॉट के लिए यहां समाप्त होने के क्रम में, यह हो सकता था:

3 दाईं चाल और 3 बाईं चाल। इस मामले में, अक्षरों को अनुक्रमित करने के तरीकों की संख्या RRRLLL है (6 चुन 3) = 20।

3 अप मूव्स और 3 डाउन मूव्स। इस मामले में, UUUDDD अनुक्रम में अक्षरों को फिर से व्यवस्थित करने के तरीकों की संख्या है (6 चुनें 3) = 20।

1 राइट मूव, 1 लेफ्ट मूव, 2 अप मूव और 2 डाउन मूव। इस स्थिति में, RLUUDD में अक्षरों को पुनर्व्यवस्थित करने के तरीकों की संख्या (6 चुनें 1) * (5 चुनें 1) * (4 चुनें 2) = 180 है।

1 अप मूव, 1 डाउन मूव, 2 राइट मूव और 2 लेफ्ट मूव्स। इस स्थिति में, RRLLUD में अक्षरों को पुनर्व्यवस्थित करने के तरीकों की संख्या (6 चुनें 1) * (5 चुनें 1) * (4 चुनें 2) = 180 है।

इस प्रकार, (0,0) पर समाप्त होने के तरीकों की कुल संख्या 400 है।

इन मामलों को एक साथ जोड़ने पर, हमें यह पता चलता है कि समाप्त होने के कुल तरीकों की संख्या | y | = | एक्स | 4 (20 + 120 + 300) + 400 = 2160 है। इस प्रकार, हमारी संभावना 2160/4096 है। जब यह अंश पूरी तरह से कम हो जाता है, तो यह 135/256 है, इसलिए हमारा उत्तर 135 है


मुझे चुनौती पसंद है लेकिन मुझे लगता है कि उदाहरण के लिए बहुत छोटे परीक्षण मामलों (2 या 3) में से एक के लिए एक उदाहरण सहित काम करने से फायदा होगा।
श्री Xcoder

@ Mr.Xcoder मैं एक जोड़ देगा जब मेरे पास समय होगा।
डॉन थाउजेंड

2
दिलचस्प चुनौती। ध्यान दें कि एक नियम में "आदर्श रूप से" शब्द का उपयोग करना एक नियम नहीं है। यह निश्चित रूप से एक या दूसरे तरीके से कहना उपयोगी होगा।
ट्राइकोप्लाक्स

1
लेकिन फर्स्ट जेन लर्निंग एल्गोरिथम के बारे में कोई बात नहीं करता है?
Redwolf प्रोग्राम्स

1
@RedwolfPrograms अहा यया लेकिन इस बॉट का कूलर का नाम है
डॉन थाउजेंड

जवाबों:


17

पायथन 2 , 65 बाइट्स

def p(n):b=2**n;r=b*b-((~b)**n/b**(n/2)%-b)**2;print~n%2*r/(r&-r)

इसे ऑनलाइन आज़माएं!

संभावना है कि बॉट मर चुका है:

(n)=2रों-रों2, कहाँ पे रों=12n(nn/2)

और द्विपद को बराबर समझा जाता है जब n / 2 पूर्ण नहीं होता है।0n/2

y=एक्सnn/2n(nn/2)2n संभव अनुक्रम के समग्र, संभावना दे

रों=12n(nn/2)

y=-एक्सरों2रोंएक्स=y=0 दोनों रेखाओं दोनों लाइनों में , और क्षतिपूर्ति करने के लिए इसे घटाएं।

एक्स=y=0रों2एक्स=yएक्स=-y

एक्स=yएक्स=-y2रों-रों2

कोड द्विपद गणना करता है(nn/2)(b+1)**n/b**(n/2)%bb=2**nr/(r&-r)rr&-r

2रों-रों21-(1-रों)2रों1/2nn


संभाव्यता का प्रमाण लिखने के बाद बॉट की मृत्यु हो गई, मैंने इसे साबित करने और इसे प्रस्तुत करने के लिए संभवतः एक क्लीनर तरीका खोजा।

=एक्स+y=एक्स-y चार संयोजनों के लिए इसी चारों दिशाओं के साथ,।

±1±1

एक्स=yएक्स=-y=0=0=0रों=12n(nn/2)=000(1-रों)21-(1-रों)2


3
बहुत खुबस! मैं किसी को यह पाने के लिए इंतजार कर रहा था। मैंने कल्पना नहीं की थी कि यह इतनी तेज है। नकारात्मक पक्ष यह है कि अन्य जवाबों में से अधिकांश को बहुत ज्यादा सोचना नहीं होगा :( उत्कृष्ट +1
डॉन थाउजेंड

छोटे इनाम का आनंद लें (इतना खेद देने के लिए बहुत कुछ नहीं है)
डॉन थाउजेंड

1
@RushabhMehta धन्यवाद, यह आप पर बहुत दया है! आपके इनाम ने मुझे एक क्लीनर प्रूफ लिखने के लिए प्रेरित किया जिसके बारे में मैंने सोचा था।
xnor

इस समस्या के लिए वास्तविक प्रेरणा AIME I 2014 समस्या 11 थी, यदि आप इसे देखना चाहते हैं।
डॉन थाउजेंड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.