বিবরণ
এই চ্যালেঞ্জটির কাজটি এমন একটি প্রোগ্রাম বা ফাংশন তৈরি করা যা কোনও প্রদত্ত বস্তুকে একটি স্পেসে অনুসরণ করে।
ইনপুট / আউটপুট
আপনার প্রোগ্রামটি 3 ইনপুট দেওয়া হবে যা কোনও বুদ্ধিমান পদ্ধতিতে নেওয়া যেতে পারে :
nপ্লেনের পাশের আকার হবে। (সুতরাং, জন্য আপনার প্লেনটি )। আপনি ধরে নিতে পারেন সর্বদা একটি বিজোড় পূর্ণসংখ্যার হবে।n
s স্থানাঙ্কের এক জোড়া হিসাবে দেওয়া বস্তুর প্রারম্ভিক অবস্থান হবে ।
Dঅর্ডারযুক্ত জোড়গুলির ভেক্টর হবে। Dবিন্যাস অনুসরণ করবে , যেখানে সবসময় হতে হবে এক এর , অঙ্কবাচক ও প্রাথমিক intercardinal দিকনির্দেশের জন্য, এবং হতে হবে 'টিক্স' সংখ্যার জন্য একটি পূর্ণসংখ্যা।টি কে'N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW'
এই ইনপুটগুলি দেওয়া, আপনার প্রোগ্রামটি অবশ্যই বিমানের মধ্যে অবজেক্টের একটি ট্র্যাকিং আউটপুট করতে পারে।
বিধি
আউটপুট অবশ্যই সমতল সীমানা থাকতে হবে । উদাহরণ:
- 21012 + + + ┌─────┐ 2│ │ 1│ │ 0│ │ 1│ │ 2│ │ -└─────┘
খালি বিমানের উদাহরণ হতে পারে । উপরের এবং পাশের নম্বরগুলি কেবলমাত্র রেফারেন্সের জন্য এবং প্রিন্ট করার দরকার নেই।
সীমানার জন্য আপনি যে কোনও অক্ষর (গুলি) ব্যবহার করতে পারেন, যতক্ষণ না এটি সাদা জায়গা নয় (বা হোয়াইটস্পেস হিসাবে রেন্ডার করে)। আপনার চয়ন করা চরিত্রগুলি অবশ্যই পুরো বিমানটিকে চিত্রিত করতে হবে, এর অর্থ এই যে তাদের মধ্যে কোনও ফাঁকই থাকতে পারে না।
কিছু গ্রহণযোগ্য বিমানের মধ্যে রয়েছে:
┌──┐ .... ---- + - +
│ │। । | | | |
│ │। । | | | |
└──┘; ....; ----; - + +
অগ্রহণযোগ্য প্লেনগুলির মধ্যে রয়েছে:
.... .... ++++। ।
। । + + ।
। + + ।
; ....; ....; + +; । ।
ট্র্যাক করার অবজেক্টটি আপনি যে কোনও চরিত্রই চয়ন করতে পারেন, যতক্ষণ না এটি কেবল বিমানের 1 টি স্থান দখল করে এবং সীমানা অক্ষর থেকে আলাদা is
ট্র্যাক করা অবজেক্টের ট্রেসগুলি আপনি যে বর্ণগুলি চয়ন করেন তা হতে পারে, যতক্ষণ না তারা কেবল বিমানটিতে 1 টি স্থান দখল করে থাকে এবং অবজেক্ট থেকে পৃথক হয়।
প্রতিটি উপাদান এর জন্য অবজেক্টটি স্পেসগুলি দিকে সরিয়ে নিয়ে একটি ট্রেস পিছনে রেখে দেয়।
যদি বস্তুটি একটি সীমানায় আঘাত করে তবে তা প্রতিফলিত হবে। যদি এখনও অবজেক্টটির কোনও পদক্ষেপ বাকী থাকে তবে এটি যেদিকে প্রতিফলিত হয়েছিল সেদিকেই চলতে থাকবে।
রেফারেন্সের জন্য, এই দিকনির্দেশগুলি একে অপরের প্রতিফলিত হয়:
উপরের বা নীচের সীমানা পূরণ করা হলে ;;
; যখন একটি পার্শ্বীয় সীমানা পূরণ হয়;
চূড়ান্ত আউটপুটটিতে নতুন সম্ভাব্য চিহ্নগুলি থাকবে, অর্থাত্ যদি অবজেক্টটি এমন কোনও জায়গায় একটি ট্রেস ফেলে রাখে যেখানে ইতিমধ্যে একটি ট্রেস রয়েছে, নতুন ট্রেস অক্ষরটি পুরানোটিকে ওভাররাইট করে।
যথারীতি, স্ট্যান্ডার্ড লুফোলগুলি ডিফল্টরূপে নিষিদ্ধ করা হয় ।
স্কোরিং:
এটি একটি কোড-গল্ফ চ্যালেঞ্জ।
উদাহরণ:
ইনপুট: , ,
এটি কাজ করে:
0 ┌─────┐ │ │ │ │ 0│ ○ │ │ │ │ │ └─────┘
0 ┌─────┐ │ ○ │ │ \ │ 0│ \ │ │ │ │ │ └─────┘
0 ┌─────┐ │ │ │ | \ │ 0│ ○ \ │ │ │ │ │ └─────┘
0 ┌─────┐ │ │ │ | \ │ 0│└ ○ \ │ │ │ │ │ └─────┘
(0 টি কেবলমাত্র রেফারেন্সের জন্য, এবং তাদের চূড়ান্ত আউটপুটে যাওয়ার দরকার নেই))
0 ┌─────────┐ │ │ │ │ │ │ │ ∧ │ 0│ / | │ │ ○ / | │ │⟨ / │ │ \ / │ │ ∨ │ └─────────┘
0 ┌─────────┐ │ ○ │ │ \ │ │ \ │ │ \ │ 0│ / | ⟩│ │ ∧ / / │ │⟨ \ / / │ │ \ \ / │ │ ∨ ∨ │ └─────────┘
পরীক্ষার কেস:
আউটপুট:
0 ┌─────┐ │ │ │ | \ │ 0│└ ○ \ │ │ │ │ │ └─────┘
ইনপুট: , ,
আউটপুট:
0 ┌─────────┐ │ ○ │ │ \ │ │ \ │ │ \ │ 0│ / | ⟩│ │ ∧ / / │ │⟨ \ / / │ │ \ \ / │ │ ∨ ∨ │ └─────────┘
ইনপুট: , ,
আউটপুট:
0 ┌───┐ │ | │ 0│- ○ ┐│ │ | │ └───┘
ইনপুট: , ,
আউটপুট:
0 ┌───────────┐ │ ∧ │ │ / \ │ │┌ - / - \ \ │ │ \ | / \ \ │ । \ | │ \ │ 0│ | / │ | \ / / │ │ | / ○ │ │ | / \ │ │ ∨ \ │ │ \ │ └───────────┘
'N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW'0-সূচকযুক্ত (বা 1-ইনডেক্সড) পূর্ণসংখ্যা হিসাবে নিতে পারি ? সুতরাং উদাহরণস্বরূপ [('NW',2),('S',2),('E',1)]হয়ে যায় [[7,2],[4,2],[2,1]]।