আপনি মোটামুটি দ্রুত সাদা পানির নদীতে একটি ক্যানো প্যাডেলিং করছেন। হঠাৎ, আপনার প্যাডেলগুলি বিস্ফোরিত হয় এবং আপনি নিজেকে কোনও ঝুঁকিপূর্ণ পরিস্থিতিতে কোনও নদীর পাদদেশ ছাড়াই দ্রুত নদীর তলদেশে ঝুঁকিপূর্ণ অবস্থায় দেখতে পান। ভাগ্যক্রমে, আপনার এখনও আপনার প্রোগ্রামিং দক্ষতা রয়েছে, তাই আপনি র্যাপিডগুলি থেকে বাঁচতে সহায়তা করার জন্য আপনার ক্যানির পাশে একটি প্রোগ্রাম খোদাই করার সিদ্ধান্ত নিয়েছেন। যাইহোক, আপনার প্রোগ্রামটি দিয়ে লিখতে ক্যানির পাশে খুব বেশি পৃষ্ঠতল অঞ্চল নেই, সুতরাং আপনাকে অবশ্যই প্রোগ্রামটি যতটা সম্ভব সংক্ষিপ্ত করে তুলতে হবে।
নদীটি 8 বাই 16 গ্রিড হিসাবে প্রতিনিধিত্ব করা যায়। আমরা সংখ্যার কলাম লেবেল হবে 0
থেকে 7
এবং সংখ্যার সঙ্গে সারি 0
থেকে 15
।
y
--------15
--------14
--------13
--------12
--------11
--------10
--------9
--------8
--------7
--------6
--------5
--------4
--------3
--------2
--------1
--------0
01234567
x
উপরে: একটি সম্পূর্ণ শান্ত, সাধারণ নদী যার কোনও বাধা নেই। স্বাভাবিকভাবেই, আপনি যে নদীটি চালু আছেন এটি এটি নয়।
আপনি স্থানাঙ্ক থেকে শুরু করুন (4, 0) এবং সেখান থেকে অনিয়ন্ত্রিতভাবে নদীর উপরে উঠে যান (অর্থাত্ ভেক্টর (0,1)
) যতক্ষণ না আপনি কোনও শিলাটিকে আঘাত করেন ( o
এই উদাহরণগুলির মধ্যে একটি দ্বারা উপস্থাপিত )। আপনি যখন কোনও শিলাকে আঘাত করেন, আপনার কাছে পাথরটি বাম দিকে এগিয়ে যাওয়ার 55% সম্ভাবনা থাকবে (অর্থাত্ ভেক্টর (-1,1)
) এবং পাথরটি পেরিয়ে ডান দিকে (অর্থাৎ ভেক্টর (1,1)
) যাওয়ার 45% সম্ভাবনা রয়েছে । ক্যানো যদি খুব বাম বা ডান কলামে থাকে তবে এটি সর্বদা কেন্দ্রের দিকে চলে যাবে। যদি কোনও শিলা না থাকে তবে এটি সোজা উপরের দিকে চলে যাবে।
y
----x---15
----xo--14
-o--x---13
----x---12
---ox---11
---x----10
---xo---9
---ox---8
----xo--7
-----x--6
----ox--5
-o--x---4
----x---3
----xo--2
----x---1
----x---0
01234567
উপরে: একটি সম্ভাব্য পথ ক্যানোটি গ্রহণ করতে পারে, এটি চরিত্রটি ব্যবহার করে প্রতিনিধিত্ব করে x
নদীর মানচিত্র দেওয়া, একটি প্রোগ্রাম লিখুন যা একটি নির্দিষ্ট কলামে ক্যানো সমাপ্তির সম্ভাবনা আউটপুট করবে।
আপনার প্রোগ্রামের জন্য যে কোনও পদ্ধতিতে ইনপুট গ্রহণ করুন (যেমন STDIN, কমান্ড লাইন আর্গুমেন্ট, raw_input()
কোনও ফাইল থেকে পড়া ইত্যাদি) etc ইনপুটটির প্রথম অংশটি 0 থেকে 7 এর মধ্যে একটি একক পূর্ণসংখ্যা, যা কলামটি উপস্থাপন করে প্রোগ্রামটির সম্ভাবনাটি খুঁজে পাবে। এর পরে x,y
পাথরের অবস্থানের প্রতিনিধিত্ব করে ফর্মের টিপলগুলির একটি তালিকা ।
একটি উদাহরণ:
ইনপুট:
4 4,1 5,5 3,5
এটি (4,1), (5,5) এবং (3,5) পজিশনে পাথর সহ একটি নদী নির্দেশ করবে এবং চতুর্থ কলামে ক্যানো শেষ হওয়ার সম্ভাবনা জিজ্ঞাসা করবে।
আউটপুট:
0.495
মনে রাখবেন যে এই উদাহরণে, শিলাগুলির অবস্থানগুলি প্রতিসম ছিল, দ্বিপদী বিতরণের মাধ্যমে সমস্যাটি সমাধান করার অনুমতি দেয়। এটি সবসময় হবে না!
এছাড়াও, নদীটি সর্বদা ক্রসযোগ্য হবে। এটি হ'ল দু'টি শিলা কখনই একে অপরের সাথে সংলগ্নভাবে অনুভূমিকভাবে অবস্থান করে। অসম্ভব মামলার উদাহরণের জন্য গ্লেনের মন্তব্য দেখুন ।
এটি কোড গল্ফ, তাই সবচেয়ে কম সংখ্যক অক্ষর জিতেছে। স্পেসিফিকেশনটি পরিষ্কার না হলে মন্তব্যগুলিতে নির্দ্বিধায় প্রশ্ন করুন।