মাইনফিল্ডে পলিট নিকট-দর্শনীয় মাতাল বট


11

শিরোনামের পরামর্শ অনুসারে, এই সমস্যাটি @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


আমি চ্যালেঞ্জটি পছন্দ করি তবে আমি মনে করি এটি উদাহরণস্বরূপ খুব ছোট পরীক্ষার ক্ষেত্রে (২ বা 3) একটি কাজের উদাহরণ অন্তর্ভুক্ত করে উপকৃত হবে।
মিঃ এক্সকোডার 15

@ মিঃ এক্সকোডার আমার সময় পেলে আমি একটি যুক্ত করব।
ডন হাজার হাজার

2
আকর্ষণীয় চ্যালেঞ্জ। নোট করুন যে কোনও নিয়মে "আদর্শ" শব্দটি ব্যবহার করা এটি কোনও নিয়ম নয়। একটি উপায় বা অন্যভাবে অবশ্যই বলা কার্যকর হবে।
ট্রাইকোপলাক্স

1
তবে ফার্স্ট জেনার্ন লার্নিং অ্যালগরিদম সম্পর্কে কেউ কথা বলেন না?
রেডউল্ফ প্রোগ্রামগুলি

1
@ রেডওলফ প্রোগ্রামগুলি আহা হ্যাঁ তবে এই বটটির শীতল নাম রয়েছে
ডন হাজার হাজার

উত্তর:


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)

এটি অনলাইন চেষ্টা করুন!

বটটি মারা যাওয়ার সম্ভাবনাটি এইভাবে প্রকাশ করা যেতে পারে:

(এন)=2গুলি-গুলি2, কোথায় গুলি=12এন(এনএন/2)

এবং দ্বিপদীটি সমান হয় যখন n / 2 সম্পূর্ণ হয় না।0এন/2

Y=এক্সএনএন/2এন(এনএন/2)2এন

গুলি=12এন(এনএন/2)

Y=-এক্সগুলি2গুলিএক্স=Y=0

এক্স=Y=0গুলি2এক্স=Yএক্স=-Y

এক্স=Yএক্স=-Y2গুলি-গুলি2

(এনএন/2)(b+1)**n/b**(n/2)%bb=2**nr/(r&-r)rr&-r

2গুলি-গুলি21-(1-গুলি)2গুলি1/2এনএন


বট মারা যাওয়ার সম্ভাব্যতার প্রমাণ লেখার পরে, আমি এটি প্রমাণ করার এবং এটি উপস্থাপনের জন্য সম্ভবত একটি পরিষ্কার উপায় খুঁজে পেয়েছি।

একটি=এক্স+ +Y=এক্স-Yএকটি

±1একটি±1একটি

এক্স=Yএক্স=-Yএকটি=0=0একটি=0গুলি=12এন(এনএন/2)=0একটি00(1-গুলি)21-(1-গুলি)2


3
ফ্যান্টাস্টিক! আমি অপেক্ষা করছিলাম কেউ এটি পেতে পারে। আমি এত তাড়াতাড়ি ভাবিনি। এখন খারাপ দিকটি হ'ল অন্যান্য উত্তরগুলির মধ্যে বেশিরভাগটিকে খুব বেশি চিন্তা করতে হবে না :(। চমৎকার +1
ডন হাজার হাজার

ছোট অনুগ্রহ উপভোগ করুন (দুঃখিত করার মতো বেশি কিছু নেই)
ডোন হাজার হাজার

1
@ রুশভ মেহতা আপনাকে ধন্যবাদ! আপনার অনুগ্রহ আমাকে পরবর্তীকালে ভেবেছিল এমন একটি ক্লিনার প্রমাণ লেখার জন্য অনুপ্রাণিত করেছিল।
xnor

আপনি যদি এটি পরীক্ষা করে দেখতে চান তবে এই সমস্যার আসল অনুপ্রেরণা ছিল AIME I 2014 সমস্যা 11।
ডন হাজার হাজার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.