শিরোনামের পরামর্শ অনুসারে, এই সমস্যাটি @NP দ্বারা পোলাইট নিকট-দর্শনীয় মাতাল বট দ্বারা আধা-অনুপ্রেরণা রয়েছে
আমাদের দরিদ্র বটটি উত্সস্থলে কার্টেসিয়ান গ্রিডে রাখা হয় এবং প্রতি মিনিটের পরে, এটি চার দিকের একটিতে (ইউনিট, ডাউন, বাম, ডান) 1 ইউনিট স্থানান্তর করে।
পরে এন মিনিট, গ্রিড সক্রিয় সুপ্ত খনি সকল কোনো দরিদ্র বট যে নিজেদের তাদের উপর পেতে পারে মারা যান। খনিগুলি সমীকরণ সমীকরণের সমস্ত সংখ্যক স্থানাঙ্কে অবস্থিত | y | = | x |।
চ্যালেঞ্জ
আপনাকে এন সরবরাহ করা হবে , খনি বিস্ফোরণের কয়েক মিনিটের আগে একটি ইনপুট এবং আউটপুট হিসাবে আপনাকে অবশ্যই বটটি মারা যাওয়ার সম্ভাবনাটি খুঁজে বের করতে হবে ।
ইনপুট : একটি প্রাকৃতিক সংখ্যা প্রতিনিধিত্ব করে এন ।
আউটপুট : বটটি মারা যাওয়ার সম্ভাবনাটি পি / কিউ হোক, যেখানে পি এবং কিউ তুলনামূলকভাবে পুরো পুরো সংখ্যা (কিউ 0 হতে পারে না, তবে পি করতে পারে)। আউটপুট পি।
বিধি
- আপনার অ্যালগরিদম অবশ্যই তাত্পর্যপূর্ণ বা উচ্চতর সময়ে চলবে না। এটি আদর্শভাবে বহু-কালীন সময়ে বা তার চেয়ে কম সময়ে চালানো উচিত।
- আপনার অ্যালগরিদম অবশ্যই
n
একটি উপযুক্ত সময়ে <20 এর ইনপুটগুলি (খুব শক্ত হলে সামঞ্জস্য করা যেতে পারে) পরিচালনা করতে সক্ষম হতে হবে । - এটি একটি কোড-গল্ফ চ্যালেঞ্জ।
- কোনও প্রদত্ত এন এর জন্য সমস্ত সম্ভাবনার উপরে আইট্রেট করা অবশ্যই উত্তর হিসাবে গ্রহণ করা হবে না।
পরীক্ষার কেস
1
->0
2
->3
4
->39
6
->135
8
->7735
10
->28287
N = 6 এর জন্য গণনা উদাহরণ
আমাদের 4 টি সম্ভাব্য পদক্ষেপ রয়েছে: ইউ, ডি, আর, এবং এল। নেওয়া যেতে পারে মোট পাথের সংখ্যা 4 ^ 6 বা 4096। সম্ভবত 4 টি সম্ভাব্য কেস রয়েছে যেটি রেখাটি y = x: x, y = এর সাথে অবতরণ করে land ± 1; x, y = ± 2; x, y = ± 3; বা x = y = 0. আমরা শেষের (1,1), (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 ডাউন মুভ সুতরাং, এখানে আসার মোট উপায়ের সংখ্যাটি RRRLUU এবং UUUDRR এর অনুক্রমগুলিতে অক্ষরগুলি পুনরায় সাজানোর পদ্ধতির যোগফল, যা উভয়ই (6 বেছে নিন 1 বেছে নিন) * (5 টি 2 বেছে নিন) = 60, মোট 120 সম্ভাবনার জন্য ।
কেস 3: বটটি শেষ হয় (1,1)। বটটি এখানে শেষ হওয়ার জন্য, এটিতে থাকতে পারে: 1 টি ডান চলা, 3 টি আপ এবং 2 টি ডাউন মুভ down এই ক্ষেত্রে, RUUUDD অনুক্রমের অক্ষরগুলিকে পুনর্বিন্যাসের বিভিন্ন উপায় (6 চয়ন করুন 1) * (5 চয়ন করুন 2) = 60।
1 টি উপরে সরানো, 3 টি ডান চাল এবং 2 টি বাম চাল। এই ক্ষেত্রে, ইউআরআরআরএলএল অনুক্রমের অক্ষরগুলিকে পুনরায় সাজানোর কয়েকটি উপায় (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 বাম চাল। এই ক্ষেত্রে, আরআরআরএলএলএল অনুক্রমের অক্ষরগুলিকে পুনর্বিন্যাসের বিভিন্ন উপায় (6 চয়ন করুন 3) = 20।
3 আপ মুভ এবং 3 ডাউন মুভস। এই ক্ষেত্রে, UUUDDD অনুক্রমের অক্ষরগুলিকে পুনরায় সাজানোর কয়েকটি উপায় (6 পছন্দ করুন 3) = 20।
1 ডান সরানো, 1 বাম পদক্ষেপ, 2 টি উপরে সরানো এবং 2 টি ডাউন মুভ। এই ক্ষেত্রে, আরএলইউইউডিডি অনুক্রমের অক্ষরগুলিকে পুনর্বিন্যাসের বিভিন্ন উপায় (6 চয়ন করুন 1) * (5 বেছে নিন 1) * (4 চয়ন করুন 2) = 180।
1 টি উপরে সরানো, 1 ডাউন সরানো, 2 টি ডান চাল এবং 2 বাম পদক্ষেপ। এই ক্ষেত্রে, আরআরএলএলডি অনুক্রমের অক্ষরগুলিকে পুনর্বিন্যাসের বিভিন্ন উপায় (6 চয়ন করুন 1) * (5 চয়ন করুন 1) * (4 চয়ন করুন 2) = 180।
সুতরাং, (0,0) এ শেষ হওয়ার মোট উপায়ের সংখ্যা 400।
এই কেসগুলি একসাথে যুক্ত করার পরে, আমরা পেয়েছি যে | y | এর শেষ পর্বের মোট সংখ্যা = | এক্স | 4 (20 + 120 + 300) + 400 = 2160. সুতরাং, আমাদের সম্ভাবনা 2160/4096। যখন এই ভগ্নাংশটি সম্পূর্ণ কমে যায়, তখন এটি 135/256 হয়, সুতরাং আমাদের উত্তর 135 ।