আমি নিজেকে কিছুটা আচারের মধ্যে ফেলেছি বলে মনে হচ্ছে। আক্ষরিক। আমি মেঝেতে একগুচ্ছ আচার ফেলেছি এবং এখন সেগুলি ছড়িয়ে ছিটিয়ে আছে! আমি আপনাকে সবগুলি সংগ্রহ করতে আমার সহায়তা করার দরকার। ওহ, আমি কি আমার আদেশে আমার কাছে একগুচ্ছ রোবট রয়েছে বলে উল্লেখ করেছি? (এগুলি সমস্ত জায়গায় ছড়িয়ে ছিটিয়ে রয়েছে; জিনিসগুলি সংগঠিত করার ক্ষেত্রে আমি সত্যিই খারাপ)
আপনাকে অবশ্যই আকারে ইনপুট নিতে হবে:
P.......
..1..2..
.......P
........
P3PP...4
.......P
অর্থাত্, উভয়রই একাধিক লাইন .
, P
(আচার) বা একটি অঙ্ক (রোবটের আইডি)। (আপনি ধরে নিতে পারেন যে প্রতিটি লাইন সমান দৈর্ঘ্যের, প্যাডযুক্ত .
।) আপনি এই রেখাগুলি একটি অ্যারে হিসাবে ইনপুট করতে পারেন, বা এসটিডিএন থেকে স্লারপ করতে পারেন, বা কমা-বিচ্ছিন্ন একক লাইনে পড়তে পারেন, বা একটি ফাইল পড়তে পারেন, বা যা যা করতে পারেন তা করতে পারেন ইনপুট নিতে চান
আপনার আউটপুট অবশ্যই n
লাইন আকারে হওয়া উচিত , যেখানে n
সর্বোচ্চ রোবট আইডি। (রোবট আইডি সর্বদা ১ থেকে শুরু করে ধারাবাহিক হবে) প্রতিটি লাইনে রোবটের পথ থাকবে, L
(বাম), R
(ডান), U
(উপরে) এবং D
(নীচে) বর্ণগুলি থেকে গঠিত । উদাহরণস্বরূপ, এখানে p ধাঁধাটির একটি উদাহরণ আউটপুট:
LLU
RDR
LRRR
D
এটাও হতে পারে
LLU RDR LRRR D
অথবা
["LLU","RDR","LRRR","D"]
বা আপনি যে কোনও ফর্ম্যাট চান, যতক্ষণ আপনি সমাধানটি অনুমিত হওয়ার কথা বলতে পারেন।
আপনার লক্ষ্যটি হচ্ছে সর্বোত্তম আউটপুটটি সন্ধান করা, এটিই সর্বনিম্ন পদক্ষেপ রয়েছে। সমস্ত রোবট থেকে প্রাপ্ত পদক্ষেপের পরিমাণকে পদক্ষেপের পরিমাণ গণনা করা হয়। উদাহরণস্বরূপ, উপরের উদাহরণটিতে 4 টি পদক্ষেপ ছিল। মনে রাখবেন যে একাধিক সমাধান হতে পারে তবে আপনাকে কেবল একটি আউটপুট করতে হবে।
স্কোরিং:
- আপনার প্রোগ্রামটি 5 টি (এলোমেলোভাবে উত্পাদিত) পরীক্ষার কেসগুলির সাথে পরিচালিত হবে।
- আপনাকে অবশ্যই প্রতিটি রান থেকে পদক্ষেপগুলি যুক্ত করতে হবে এবং এটিই আপনার স্কোর।
- সর্বনিম্ন মোট, সংগ্রহের স্কোর জিতবে।
- আপনি এই নির্দিষ্ট ইনপুটগুলির জন্য হার্ড-কোড নাও করতে পারেন। আপনার কোড অন্য কোনও ইনপুট জন্য কাজ করা উচিত।
- রোবট একে অপরের মাধ্যমে যেতে পারে।
- আপনার প্রোগ্রামটি অবশ্যই ডিটারমিনিস্টিক হতে হবে, অর্থাত্ প্রতিটি রানের জন্য একই আউটপুট। আপনি এলোমেলো সংখ্যা জেনারেটর ব্যবহার করতে পারেন, যতক্ষণ না এটি বীজযুক্ত এবং ধারাবাহিকভাবে একই সংখ্যা ক্রস-প্ল্যাটফর্ম উত্পাদন করে produces
- আপনার কোডটি প্রতিটি ইনপুটগুলির জন্য 3 মিনিটের মধ্যে চলতে হবে। (সবচেয়ে বেশি কম।)
- টাই করার ক্ষেত্রে, বেশিরভাগ উপায়ে জয়ী হবে।
এখানে পরীক্ষার মামলা রয়েছে। এগুলি এলোমেলোভাবে আমি লিখেছিলাম এমন একটি ছোট রুবি স্ক্রিপ্ট দিয়ে তৈরি করা হয়েছিল।
P.......1.
..........
P.....P...
..P.......
....P2....
...P.P....
.PP..P....
....P....P
PPPP....3.
.P..P.P..P
....P.....
P....1....
.P.....PP.
.PP....PP.
.2.P.P....
..P....P..
.P........
.....P.P..
P.....P...
.3.P.P....
..P..P..P.
..1....P.P
..........
.......2P.
...P....P3
.P...PP..P
.......P.P
..P..P..PP
..P.4P..P.
.......P..
..P...P...
.....P....
PPPP...P..
..P.......
...P......
.......P.1
.P..P....P
P2PP......
.P..P.....
..........
......PP.P
.P1..P.P..
......PP..
P..P....2.
.P.P3.....
....4..P..
.......PP.
..P5......
P.....P...
....PPP..P
শুভকামনা, এবং আচারগুলি খুব বেশিক্ষণ সেখানে বসে থাকতে দেবে না, বা তারা ক্ষতিগ্রস্ত করবে!
ওহ, এবং কেন আচার?
কেন না?