বিভিন্ন বাক্সের এই আসকি শিল্প চিত্রটি একবার দেখুন:
+--------------------------------------------------------------+
| |
| +-------------------------------+ +-------+ |
| | | | | |
| | | | | |
| | +----------------+ | | | |
| | | | | +-------+ |
| | | | | |
| | | | | +-------+ |
| | +----------------+ | | | |
| | | | | |
| | | | | |
| +-------------------------------+ +-------+ |
| |
+--------------------------------------------------------------+
প্রতিটি বাক্সটি উল্লম্ব অংশগুলির জন্য পাইপ অক্ষর ( |), অনুভূমিক অংশগুলির জন্য ড্যাশগুলি -এবং কোণগুলির ( +) জন্য প্লাস করা হয় ।
চিত্রটি অন্যান্য বাক্সের অভ্যন্তরে বাক্সগুলিও দেখায়। সেই বাক্সের স্তরের মধ্যে একটি বাক্স রয়েছে এমন বাক্সের সংখ্যাকে আমরা কল করব । প্রতিটি বাক্সের স্তরটি টীকাযুক্ত করে আবার এখানে চিত্রটি এখানে দেওয়া হয়েছে:
+--------------------------------------------------------------+
| |
| +-------------------------------+ +-------+ |
| | | | | |
| | | | 1 | |
| | +----------------+ | | | |
| | | | | 0 +-------+ |
| | | 2 | 1 | |
| | | | | +-------+ |
| | +----------------+ | | | |
| | | | 1 | |
| | | | | |
| +-------------------------------+ +-------+ |
| |
+--------------------------------------------------------------+
আপনার প্রোগ্রামটি একটি বাক্স ডায়াগ্রামে ইনপুট হিসাবে শীর্ষে থাকা একটির সাথে সমতুল্য লাগবে। আউটপুট হিসাবে, আপনার প্রোগ্রামটি বক্স ডায়াগ্রামের সাথে আউটপুট করা উচিত:
- স্তর 0 এর বাক্সটি অক্ষর দিয়ে পূর্ণ করা উচিত
#(এনবি: স্তর 0-তে কেবল কখনও একটি বাক্স থাকবে); - স্তর 1 এর বাক্সগুলিতে চরিত্রটি পূরণ করা উচিত
=; - স্তর 2 এর বাক্সগুলিতে চরিত্রটি পূরণ করা উচিত
-; - 3 স্তরের বাক্সগুলিতে চরিত্রটি পূরণ করা উচিত
.; - স্তর 4 এবং তার উপরের বাক্সগুলি পূরণ করা উচিত নয়।
উদাহরণ ইনপুটটির আউটপুট কেমন দেখতে হবে তা এখানে:
+--------------------------------------------------------------+
|##############################################################|
|###+-------------------------------+##########+-------+#######|
|###|===============================|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###|=====+----------------+========|##########|=======|#######|
|###|=====|----------------|========|##########+-------+#######|
|###|=====|----------------|========|##########################|
|###|=====|----------------|========|##########+-------+#######|
|###|=====+----------------+========|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###|===============================|##########|=======|#######|
|###+-------------------------------+##########+-------+#######|
|##############################################################|
+--------------------------------------------------------------+
এখানে 3, 4 এবং 5 স্তর প্রদর্শন করে অন্য একটি ইনপুট এবং আউটপুট দেওয়া হচ্ছে শীর্ষে অনুভূমিক রেখাগুলি নোট করুন যা একসাথে খুব কাছাকাছি রয়েছে। এই ক্ষেত্রে সেখানে কোনও অক্ষর পূরণ করার জন্য পর্যাপ্ত জায়গা নেই।
+-----------------------------------------------------------------------+
| +--------------------------------------------------------------+ |
| | +-----------------------------------------------------+ | |
| | | +-----------------------------------------+ | | |
| | | | +---------------------------+ | | | |
| | | | | +-------------+ | | | | |
| | | | | | | | | | | |
| | | | | +-------------+ | | | | |
| | | | +---------------------------+ | | | |
| | | | | | | |
| | | +-----------------------------------------+ | | |
| | | | | |
| | | | | |
| | +-----------------------------------------------------+ | |
| | | |
| +--------------------------------------------------------------+ |
| |
| |
| |
+-----------------------------------------------------------------------+
আউটপুট:
+-----------------------------------------------------------------------+
|#####+--------------------------------------------------------------+##|
|#####|======+-----------------------------------------------------+=|##|
|#####|======|---------+-----------------------------------------+-|=|##|
|#####|======|---------|...........+---------------------------+.|-|=|##|
|#####|======|---------|...........| +-------------+ |.|-|=|##|
|#####|======|---------|...........| | | |.|-|=|##|
|#####|======|---------|...........| +-------------+ |.|-|=|##|
|#####|======|---------|...........+---------------------------+.|-|=|##|
|#####|======|---------|.........................................|-|=|##|
|#####|======|---------+-----------------------------------------+-|=|##|
|#####|======|-----------------------------------------------------|=|##|
|#####|======|-----------------------------------------------------|=|##|
|#####|======+-----------------------------------------------------+=|##|
|#####|==============================================================|##|
|#####+--------------------------------------------------------------+##|
|#######################################################################|
|#######################################################################|
|#######################################################################|
+-----------------------------------------------------------------------+
অন্য ইনপুট, এবার উল্লম্ব রেখাগুলি একসাথে পাশাপাশি বন্ধ করুন:
+-------------+
|+-----------+|
|| ||
|| ||
|| ||
|+-----------+|
+-------------+
আউটপুট:
+-------------+
|+-----------+|
||===========||
||===========||
||===========||
|+-----------+|
+-------------+
অতিরিক্ত নোট
- বাইরেরতম বাক্সের চারপাশে সাদা জায়গা থাকতে পারে।
- বাক্সগুলির অভ্যন্তরীণ প্রস্থ বা উচ্চতা 0 থাকতে পারে না (যাতে তারা সর্বদা তাদের ভিতরে কিছু জায়গা থাকে)
- একই স্তরের বাক্সগুলি একে অপরকে স্পর্শ করতে পারে।
import java.util.Scannerসাথে প্রতিস্থাপন করতে পারেনimport java.util.*