আপনি দু'টি শহরের মধ্যে মরুভূমি পেরিয়ে ভ্রমণকারী। আপনি থামাতে না পার হয়ে পর্যাপ্ত জল বহন করতে পারবেন না। এটি একটি ধ্রুপদী ধাঁধা একটি প্রকরণ।
নিয়ম
একটি মরুভূমি দেখতে দেখতে: বেশিরভাগ ফাঁকা জায়গার ডাব্লুএক্সএইচ গ্রিড। চিহ্নিত স্থানটি S
আপনি যেখানে শুরু করেছিলেন, E
সেখানেই আপনি শেষ করতে চান, এবং N নম্বরযুক্ত একটি বর্গক্ষেত্রটি জল ইউনিট ধারণ করে holds স্কয়ার .
শূন্য জলের সাথে চিহ্নিত ।
.....................................
........S............................
.....................................
.........7...........................
.....................................
.......................3.............
.....5...............................
................................2....
.....................................
.....................................
.....................................
...............................E.....
.....................................
....................7................
.....................................
.....................................
আপনি এস এ 5 ইউনিট জল দিয়ে শুরু করুন।
আপনি সর্বোচ্চ 5 ইউনিট জল বহন করতে পারেন।
প্রতিটি আপনি পালা
- এক বর্গাকার উপরে, নীচে, বাম বা ডানদিকে সরিয়ে নিন
- আপনি বহন করছেন যে 1 ইউনিট জল খাওয়া,
- কুড়ান বা ড্রপ জল ইউনিট কিছু সংখ্যা।
একটি মোড় এইভাবে notated হয়: (direction)(+|-)(units of water)
, +
ইঙ্গিত আপনি জল গোছগাছ করা হয়, -
আপনি এটি ড্রপ করা হয়।
উদাহরণ ঘুরে:
D+0 Move Down
R+0 Move Right
D+2 Move Down, pick up two units of water.
U-1 Move Up, drop one unit of water.
আপনি যদি উপরের উদাহরণে এস থেকে শুরু করে এই পদক্ষেপগুলি সম্পাদন করেন তবে মরুভূমিটি পরে এর মতো দেখায়।
.....................................
........S............................
.........1...........................
.........5...........................
.....................................
.......................3.............
.....5...............................
................................2....
.....................................
.....................................
.....................................
...............................E.....
.....................................
....................7................
.....................................
.....................................
ইতিমধ্যে আপনার স্কোয়ারের চেয়ে বেশি জল তুলতে পারবেন না। আপনি যখন জল তুলবেন, টাইলের গণনা থেকে সেই একক সংখ্যাটি বাদ দিন।
আপনি সর্বাধিক 5 ইউনিট ধরে রাখতে জল তুলতে পারবেন।
কোনও টাইল 9 টির বেশি ইউনিট ধরে রাখতে পারে না, এস ব্যতীত অসীম ইউনিট রাখে।
আপনি বর্তমানে যতটা জল রাখছেন কেবল ততটুকু জল ফেলে দিতে পারেন।
আপনি আবার তা না নেওয়া পর্যন্ত মাটিতে জল অপরিবর্তিত রয়েছে।
আপনি যদি এস এ ফিরে যান তবে আপনি এটিকে হ্রাস না করে কোনও পরিমাণ জল তুলতে পারবেন।
আপনি যদি E এ পৌঁছে যান তবে আপনি জিতবেন । আপনি যদি ইতে আপনার শেষ ইউনিট জল গ্রহণ করেন তবে আপনি জিততে পারেন
যদি, আপনার পালা পরে, আপনার শূন্য জল এবং আপনি ই তে না হন তবে আপনি মারা যান ।
ইনপুট এবং আউটপুট
আপনার প্রোগ্রামটি STDIN
উপরের ফর্ম্যাটে এএসসিআইআই আর্ট হিসাবে স্বেচ্ছাসেবীর আকারের একটি শুরুর মানচিত্র পাবেন । আপনি ধরে নিতে পারেন এটি আয়তক্ষেত্রের অর্থাত্ সমস্ত রেখাগুলি একই দৈর্ঘ্য, ঠিক এক S
এবং এক E
বর্গক্ষেত্র রয়েছে, সমস্ত লাইন সমাপ্ত হবে \n
এবং পুরো এসটিডিন এই রেজেক্সটির সাথে সামঞ্জস্য করবে:/^[SE1-9\.\n]+$/
আপনার প্রোগ্রামটি নিম্নলিখিত আউটপুটটি STDOUT এ লিখবে:
- চাল তালিকা,
- মানচিত্রের চূড়ান্ত অবস্থা।
আপনি যে কোনও সুবিধাজনক বিন্যাসে চালগুলির তালিকা আউটপুট করতে পারেন।
মানচিত্রের চূড়ান্ত অবস্থা ইনপুট হিসাবে একই ফর্ম্যাটে মুদ্রিত হবে তা বাদে এটি মরুভূমির মধ্য দিয়ে আপনি যে সমস্ত পথটি দেখেছেন সেগুলি সমস্ত পরিদর্শন করা টাইলগুলি চিহ্নিত করে দেখিয়ে দেবে#
, যদি সেই টাইলটিতে কোনও জল থাকে না এবং এস বা ই হয় না (যেমন) এটা .
)।
উদাহরণ ইনপুট:
.....S.
.......
.......
E......
....8..
উদাহরণ বিজয়ী আউটপুট:
D+0
D+0
D+0
D+0
L+5
L+0
L+0
L+0
L+0
U+0
.....S.
.....#.
.....#.
E....#.
####3#.
Nontriviality
আপনি যখন আপনার কোড পোস্ট করেন, তখন একটি নমুনা মানচিত্র ইনপুট পোস্ট করুন যা আপনার কোডে এমন কোনও সমাধান খুঁজে পেয়েছে যার জন্য নিম্নলিখিত অ-তুচ্ছতা শর্তাদি পূরণ করে:
- এস এবং ই কমপক্ষে 10 টি পদক্ষেপ আলাদা।
- প্রাথমিকভাবে N ইউনিট জল রয়েছে এমন যে কোনও বর্গক্ষেত্রকে অবশ্যই N স্কোরের সীমানা দ্বারা আবদ্ধ করা উচিত যেখানে সমস্ত বর্গক্ষেত্র রয়েছে
.
(জল নেই, এস বা ই নয়)
EXAMPLE টি
........2.
..........
..........
S.1..2....
..........
..........
........1.
..3.......
.........E
আপনি যদি কোনও টাইলের জলের পরিমাণ বাড়িয়ে দেন তবে উপরেরটি তুচ্ছ হয়ে যায়।
আবশ্যকতা
সম্ভবত আপনার প্রোগ্রামটি এর কোনও সমাধানের সন্ধানের আগে বেশ কয়েকটি ব্যর্থ চেষ্টাগুলির মুখোমুখি হবে।
- আপনার প্রোগ্রামটি শেষ পর্যন্ত কোনও দ্রবণযোগ্য ইনপুট সমাধান করতে হবে।
- আমি আপনাকে মরতে দেখতে চাই - আপনার প্রোগ্রামটি সমাধান অনুসন্ধানের প্রতিটি ব্যর্থ চেষ্টার জন্য মৃত্যুর পথে চলার চূড়ান্ত মানচিত্রের আউটপুট তৈরি করবে ।
- যদি আপনি কোনও বিজয়ী সমাধানের মুখোমুখি হন তবে এর জন্য সম্পূর্ণ আউটপুট মুদ্রণ করুন এবং শেষ করুন।
- কোনও সমাধান না পাওয়া পর্যন্ত চালাও, তবে একই সমাধানের জন্য দু'বার চেষ্টা করবেন না - সমস্ত মৃত্যু পৃথক পথে হওয়া উচিত।
- এটি একটি পরীক্ষার ইনপুট ব্যবহার করুন:
(কিছু মিডপয়েন্টে জলের ক্যাশে ফেলতে কমপক্ষে একটি পদক্ষেপ নেওয়া দরকার)।
S........
.........
.........
........E
সবচেয়ে সংক্ষিপ্ত কোড যা একটি অ-তুচ্ছ পরীক্ষামূলক ইনপুট সহ পোস্ট করা হয় যা এটি জয়ের সমাধান করে ।