লক্ষ্য
এই প্রতিযোগিতায়, আপনাকে ভিতরে ভিতরে একটি মোমবাতিযুক্ত একটি এলোমেলো রুম দেওয়া হবে। লক্ষ্যটি হ'ল সংক্ষিপ্ততম প্রোগ্রামটি লিখুন (এটি গল্ফ) যা ঘরের কোন অংশটি মোমবাতি দ্বারা আলোকিত হয় তা নির্ধারণ করে, অন্ধকার দাগগুলি প্রতিস্থাপন করে @। প্রোগ্রামটি STDIN থেকে আউটপুটটি STDOUT এ মুদ্রিত হওয়া উচিত।
উদাহরণ ইনপুট / রুম
+------+
| C |
| +--+
| \ |
+---------+
মোমবাতি একটি সঙ্গে প্রতিনিধিত্ব করা হয় C, এবং দেয়াল / আয়না সঙ্গে প্রতিনিধিত্ব করা হয় |, -, /, অথবা \। দেয়ালগুলি নিজেরাই আয়না। ঘরের কোণগুলি একটি দ্বারা প্রতিনিধিত্ব করা হয় +।
রুমগুলিতে কখনও তির্যক দেয়াল থাকবে না এবং আলো কখনও ঘর থেকে বেরিয়ে যেতে সক্ষম হবে না।
এছাড়াও, একটি লাইনের প্রথম চরিত্রটি সর্বদা ঘরের বাইরে দেয়ালের অংশ হতে চলেছে। প্রতিটি লাইনের নিখুঁত শেষ চরিত্রটি ঘরের বিপরীত প্রাচীর হতে চলেছে। এই দুজনের মধ্যে কোনও চরিত্রই ঘরের বাইরে থাকবে না।
হালকা এবং প্রতিবিম্ব
মোমবাতিটি আটটি মূল দিকটিতে আটটি (লেজারের মতো) আলোর বীম বের করে: এন, এস, ই, ডাব্লু, এনই, এসই, এসডাব্লু এবং এনডাব্লু W আলোর এই রশ্মিগুলি নিচে বর্ণিত হিসাবে আয়নাগুলি বন্ধ করে দেয়:
Old Direction of Travel | Mirror | New Direction
N S E W NE SE SW NW / E W N S -- -- -- --
N S E W NE SE SW NW \ W E S N -- -- -- --
N S E W NE SE SW NW | - - - - NW SW NE SW
N S E W NE SE SW NW - - - - - SE NE SW NE
এ -আলোককে শোষিত করার প্রতিনিধিত্ব করে। আলো সর্বদা সি বা + এর দ্বারা শোষিত হয়। এটি লক্ষণীয় গুরুত্বপূর্ণ যে লাইটগুলি যখন আয়নার মতো একই স্থানটি দখল করে তখনই একটি আয়না থেকে প্রতিফলিত হয়। আপনি যখন কাগজে প্রতিবিম্ব আঁকেন তখন এই নিয়মগুলি বোঝা অনেক সহজ।
উদাহরণ আউটপুট
আউটপুট হিসাবে, প্রোগ্রামটি আলোকিত কক্ষের একটি চিত্র মুদ্রণ করা উচিত, গা dark় দাগগুলি একটি হিসাবে লেখা হয় @, হালকা দাগ ফাঁকা থাকে এবং আয়নাগুলি প্রভাবিত না হয়। উপরের উদাহরণের জন্য, আউটপুটটি হবে:
+------+
| C |
|@ @ +--+
| @\ |
+---------+
এর অর্থ হ'ল, যদি আপনি আলোর মরীচি আঁকেন তবে এগুলি কখনই চিহ্নিত স্থানগুলিতে পৌঁছাবে না @।
আরও উদাহরণ
Input:
+-----+
| |
| |
| C |
| |
| |
+-----+
Output:
+-----+
| @ @ |
|@ @|
| C |
|@ @|
| @ @ |
+-----+
Input:
+-----+
| \ |
|/ C \+-+
| |
| \ - ++
+------+
Output:
+-----+
| \ @|
|/ C \+-+
| @|
| @\ -@++
+------+
@খুব বেশি হওয়া উচিত নয় ?