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


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একটি≠0খ≠0(1-গুলি)21-(1-গুলি)2


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

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

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

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