চ্যালেঞ্জ
চরিত্রের গণনা অনুসারে সংক্ষিপ্ততম কোডটি রোবটকে সবচেয়ে কম পদক্ষেপে বিড়ালছানা খুঁজে পেতে সহায়তা করতে।
গল্ফার্স, এটি সঙ্কটের সময় - বিড়ালছানা নিখোঁজ হয়ে গেছে এবং এটি খুঁজে পাওয়া রোবটের কাজ! রোবটকে সংক্ষিপ্ততম পথে বিড়ালছানা পৌঁছানো দরকার। তবে, রোবটের পথে প্রচুর প্রতিবন্ধকতা রয়েছে এবং তার সমাধান সমাধানের জন্য আপনার তার দরকার।
রোবট তার জন্য একটি প্রোগ্রাম করত, তবে সেই প্রোগ্রামটি হারিয়ে যায় এবং রোবটের কোনও ব্যাকআপ নেই :(।
রোবটের রানটাইম সবচেয়ে ভাল নয়, এবং রোবটকে উত্স কোড থেকে স্বল্পতম অক্ষরগুলি পড়তে হবে, প্রসেসিংয়ে ব্যয় করার জন্য এটি সর্বনিম্ন সময় ব্যয় করবে এবং এর অর্থ হ'ল বিড়ালছানা দ্রুত পাওয়া যাবে!
রোবটের স্মৃতিতে বর্তমানে অবস্থানরত অবস্থানের একটি মানচিত্র রয়েছে যেখানে তিনি প্রতিনিধিত্ব করছেন শীর্ষের উত্তর, নীচে দক্ষিণের প্রতিনিধিত্ব করছেন, ডান প্রতিনিধিত্ব করছেন পূর্ব এবং বাম প্রতিনিধিত্ব করছেন পশ্চিম। রোবট সর্বদা দেয়াল দ্বারা বেষ্টিত অজানা আকারের একটি আয়তক্ষেত্রাকার কক্ষে থাকে যা #
তার রাডার মানচিত্রে প্রতিনিধিত্ব করে । অঞ্চল রোবট চলতে পারে একটি স্থান দ্বারা প্রতিনিধিত্ব করা ।
রোবটের রাডার রুমে অনেক প্রতিবন্ধকতাগুলির জন্যও স্ক্যান করে এবং এএসসিআইআইয়ের বিভিন্ন বর্ণগুলিতে চিহ্নিত করে। রোবট সেই বাধাগুলি পেরিয়ে চলতে পারে না। রাডার কিটেনকে বিশেষ ASCII চরিত্র হিসাবে চিহ্নিত করবে K
, অন্যদিকে রোবটের অবস্থানটি চিহ্নিত করা হবে R
।
রোবটের ন্যাভিগেশন সিস্টেমটি এইভাবে কাজ করে: তিনি যে দিকনির্দেশনা এবং তার কতগুলি চলন ইউনিট ভ্রমণ করতে পারেন সেগুলি বুঝতে পারে - উদাহরণস্বরূপ, N 3
'উত্তর উত্তর 3 আন্দোলনের ইউনিটগুলিতে যান'। রোবটের রাডার মানচিত্রটি এমনভাবে তৈরি করা হয়েছে যে কোনও মুভমেন্ট ইউনিটই একটি এএসসিআইআই চরিত্র। রোবট কেবল 4 দিক যেতে পারে এবং তির্যকভাবে ভ্রমণ করতে পারে না।
আপনার কাজ, সাহসী কিটেন সেভার, রোবটের রাডার মানচিত্রটি একবার পড়তে হবে এবং সর্বনিম্ন চলমান ইউনিটের ভ্রমণের দূরত্ব সহ কমপক্ষে দিকনির্দেশের আউটপুট। রোবটটি বিড়ালছানা পর্যন্ত কমপক্ষে একটি পাথের গ্যারান্টিযুক্ত।
রোবট কোনও বিপর্যয়মূলক অনুষ্ঠান কার্যকর করতে সময় নষ্ট না করে তা নিশ্চিত করার জন্য যা রোবটকে বিড়ালছানা খুঁজে পেতে সহায়তা করবে না, আমি আপনাকে সাহসী, বিড়ালছানা সেভার, বোটন সন্ধানে কোনও সময় নষ্ট না করার বিষয়টি নিশ্চিত করার জন্য রোবটের অতীত প্রোগ্রামটির এই আউটপুটটি ব্যবহার করতে উত্সাহিত করি!
পরীক্ষার মামলা
Input:
######################
# d 3 Kj #
# #
# R #
# q #
######################
Output:
E 13
N 2
Input:
######################
# d r 3 Kj #
# p p #
# T X #
# q s t #
# #
# R o d W #
# #
# g t U #
# #
######################
Output:
N 1
E 10
N 4
E 2
Input:
######################
# spdfmsdlwe9mw WEK3#
# we hi #
# rdf fsszr#
# sdfg gjkti #
# fc d g i #
# dfg sdd #
# g zfg #
# df df #
# xcf R#
######################
Output:
N 1
W 9
N 5
E 4
N 1
E 4
N 1
কোড গণনা ইনপুট / আউটপুট অন্তর্ভুক্ত (যেমন সম্পূর্ণ প্রোগ্রাম)।