আপনার এক বন্ধু আপনাকে শহরের সেরা রেস্তোঁরাগুলির দিকনির্দেশ দিয়েছে। এটি বাম এবং ডান দিকে মোড়ের সিরিজ। দুর্ভাগ্যক্রমে, আপনি কতক্ষণ এই বাঁকগুলির মধ্যে সোজা এগিয়ে যেতে হবে তা উল্লেখ করতে তারা ভুলে গিয়েছিল। ভাগ্যক্রমে আপনার কাছে সমস্ত রেস্তোঁরা সহ একটি রাস্তার মানচিত্র রয়েছে। তারা বুঝতে পারে যে কোন রেস্তোঁরাটি তাদের বোঝায়?
ইনপুট
মানচিত্রটি ASCII অক্ষরগুলির একটি আয়তক্ষেত্রাকার গ্রিড হিসাবে দেওয়া হয়েছে। .
একটি রাস্তা, হয় #
কোনও অট্টালিকা হয় A
থেকে Z
বিভিন্ন রেস্টুরেন্ট আছে। আপনি পূর্ব দিকে গিয়ে উপরের বাম কোণে শুরু করুন। উদাহরণ:
.....A
.#.###
B....C
##.#.#
D....E
##F###
আপনার বন্ধুর নির্দেশাবলী একটি (সম্ভাব্য খালি) স্ট্রিং বা L
গুলি এবং R
গুলিযুক্ত অক্ষরের তালিকা হিসাবে দেওয়া হবে ।
আউটপুট
ইনপুট স্ট্রিংয়ের বাম এবং ডানদিকে মোড়ের সাথে মিলে যায় এমন কোনও পথ আপনি হাঁটতে পারেন, প্রদত্ত যে আপনি তাদের প্রতিটিের আগে কমপক্ষে এক ধাপ এগিয়ে নিয়ে যাওয়ার পাশাপাশি শেষের দিকে যেতে পারেন। বিশেষত এর অর্থ যদি আপনার সাথে স্ট্রিং শুরু R
হয় তবে বাম-সর্বাধিক কলামে তাত্ক্ষণিকভাবে দক্ষিণে যেতে পারবেন না। এর অর্থ হ'ল আপনি ঘটনাস্থলে 180 around ঘুরতে পারবেন না।
আপনি শেষে পৌঁছে যাওয়া ছাড়া আপনি বিল্ডিং বা রেস্তোঁরাগুলি দিয়ে হাঁটতে পারবেন না। আপনি ধরে নিতে পারেন উপরের বাম কোণটি a .
।
আপনার স্ট্রিং বা তালিকা হিসাবে আপনার সমস্ত রেস্তোঁরা আউটপুট করা উচিত যা আপনার বন্ধুর নির্দেশের সাথে পৌঁছে যেতে পারে।
আপনি ধরে নিতে পারেন যে নির্দেশাবলী কমপক্ষে একটি রেস্তোঁরা নিয়ে যাবে। যেমন একটি একক L
উপরের মানচিত্রের জন্য অবৈধ হবে।
উপরের মানচিত্রের জন্য কয়েকটি উদাহরণ:
<empty> A
R F
RR B,D
RL C,E
RLRL E
RLLR C
RLLL B
RLRR D
RLRRRR A,C
RLLLRLL B
বিশেষত নোট করুন যা R
পৌঁছায় না B
।
আপনি STDIN (অথবা নিকটতম বিকল্প), কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট নিয়ে কোনও প্রোগ্রাম বা ফাংশন লিখতে এবং STDOUT (বা নিকটতম বিকল্প), ফাংশন রিটার্ন মান বা ফাংশন (আউট) প্যারামিটারের মাধ্যমে ফলাফল আউটপুট করতে পারেন।
স্ট্যান্ডার্ড কোড-গল্ফ বিধি প্রযোজ্য।
অতিরিক্ত পরীক্ষার কেস
এখানে একটি বৃহত্তর মানচিত্র, কনর ও ব্রায়নের সৌজন্যে (যা আমি কিছুটা পরিবর্তন করেছি):
.......Y..........................######
.####.....#.##....##..######....#.###.##
B.........#.##.#..##....##...##.#.#P...#
.#.#####..#.##..#.##....##.#....#.####.#
.#.#...C..#.##...G##..#.##.#....#.#....#
.#.#.#.#..#.####.###.#..##.#....#.#.NO.#
.#.#A#.#..#.##...F###...##.#.##.#......#
.#.###....#.##....##....##.#....###....#
.#.....##...##....##...D##........###R.#
.#.##..##...##E...##..######....####...#
.....X....#.#.....................##S.T#
###########.###########M############...#
#................................###.#.#
#.#########.########.######.#.######.#.#
#......V#.....######.IJ...........##.#.#
#########.###......ZH############L##.#.#
#########.##########.###############.#.#
####K##...##########.#....#..........#.#
####....########U......##...#######Q.#.#
#####################################W.#
এবং নির্দেশাবলী এবং তাদের প্রত্যাশিত ফলাফলগুলির কয়েকটি নির্বাচিত তালিকা রয়েছে:
<empty> Y
RR B
RLL Y
RLRR B,C,X
RLLLRRR G
RLRLRLRL I,Z
RLLRRRLRRLRR C,D,F,G,Y
RLRRLLRLLLRL B,C,Y
RLLRRLRRRLLLL F,M,N,O,Y
RLRRLLLRRRRLLLL F,M,Y
RLRRLRRRRRRRRRR E,F,Y
RLRRRLLLRLLRRLL M,N,O
RLLRRLRRLRLRLRRLLR E,U
RLRLLRLRRLRRRRRLRL F,G,I,Z
RLLRRLLRLLRRRLRRLLRR W
RLLLRRRLRRLLLLLRLLLLLL D,G,X
RLRLLRLRRLRLRRRLRLLLRR B,C,E,J,X
RLRLRLLLLRLRRRRRRLRLRRLR Y
RLRLRRRLRLLLLRLRRLLLLRLLRRL E,M,X
RLRLLLRRRLLLRLLRLLRLRRLRLRR B,E,F,K
RLRRRLLLLLLLLLLLLLLLRRRRLLL A,B
বোনাস প্রশ্ন: একটি ইনপুট রয়েছে যার ফলাফল কেবল I
বা কেবলমাত্র U
? যদি তা হয় তবে এর চেয়ে ছোটতম পথটি কী?