আপনি ব্যয়বহুল আর্কিটেকচারাল প্রোগ্রামের জন্য অর্থ দিতে চান না, তাই আপনি নিজের রোল করার সিদ্ধান্ত নেন। আপনি আপনার বিল্ডিংগুলি ডিজাইনের জন্য ASCII ব্যবহার করার সিদ্ধান্ত নিয়েছেন। আপনার প্রোগ্রামটি একটি নির্দিষ্ট উপায়ে ফর্ম্যাট করা একক স্ট্রিং নেবে এবং প্রোগ্রামটি বিল্ডিংকে আউটপুট দেবে।
ইনপুট
ইনপুটটিতে অক্ষরের একক লাইন থাকে। এটি কেবল অক্ষর a-j
, সংখ্যা 1-9
এবং চিহ্ন -
এবং থাকতে পারে বলে ধরে নেওয়া যেতে পারে +
।
আউটপুট বিবরণ
প্রতিটি বর্ণের জন্য a-j
, প্রোগ্রামটি নীচে উল্লম্ব লাইন আউটপুট দেবে। আমরা এটিকে একটি কলাম বলব।
.
..
...
****
*****
******
-------
--------
+++++++++
++++++++++
abcdefghij
উদাহরণস্বরূপ, ইনপুট abcdefgfedefghgfedc
আউটপুট হবে:
.
* ***
*** *****
***** *******
---------------
-----------------
++++++++++++++++++
+++++++++++++++++++
একটি চিঠি ইতিবাচক পূর্ণসংখ্যার সাথে উপসর্গযুক্ত করা যেতে পারে n
, যা n
কলামের নীচে সাদা স্পেস অক্ষর যুক্ত করবে । আমরা এটিকে অফসেট বলব। উদাহরণস্বরূপ, S
একটি সাদা স্থান চিহ্নিত করতে ব্যবহার করে , ইনপুটটি 3b2b3b
আউটপুট দেয়:
+ +
+++
S+S
SSS
SSS
একটি চিঠিটি একটি নেতিবাচক পূর্ণসংখ্যার সাথেও উপস্থাপিত হতে পারে -m
, যা কলামের নীচের অদ্বিতীয় স্থানগুলিকে মুছে ফেলবে (তাদের সাদা অংশের সাথে প্রতিস্থাপন করবে না, পুরোপুরি মুছে ফেলবে)। আমরা এটিকে একটি স্লাইস বলব। উদাহরণস্বরূপ, ইনপুট আউটপুট হবে:m
-1j-2j-3j-4j-5j-6j-7j-8j
.
..
...
*...
**...
***...
-***...
--***...
+--***..
একটি অফসেট এবং একটি স্লাইস একই লাইনে প্রয়োগ করা যেতে পারে তবে অফসেটটি প্রথমে যেতে হবে। অন্য কথায়, চিঠিটি উপসর্গের আকার n-m
, যেখানে n
অফসেটের m
আকার এবং স্লাইসের আকার with উদাহরণস্বরূপ, S
একটি সাদা স্থান চিহ্নিত করতে ব্যবহার করে , ইনপুট '2-4j' আউটপুট দেয়:
.
.
.
*
*
*
S
S
শেষ অবধি, +
দুটি কলামের মধ্যে ব্যবহৃত অপারেটরটি ইঙ্গিত দেয় যে তাদের পৃথক কলামগুলির পরিবর্তে একই কলামে একে অপরের শীর্ষে স্ট্যাক করা উচিত। উদাহরণস্বরূপ, ইনপুট `2-4ja 'আউটপুটগুলি:
.
.
.
*
*
*
S
S+
ইনপুট 2-4j+a
আউটপুটস যেখানে :
+
.
.
.
*
*
*
S
S
এখানে একটি নমুনা ইনপুট:
abiehef+ehfhabc
এবং ফলাফল আউটপুট:
*
-
. -
. . +. .
* * +* *
* * ****
********
--------
-------- -
+++++++++ ++
+++++++++++++
দেখতে কোনও পুরানো ধ্বংসপ্রাপ্ত দুর্গ টাওয়ারের মতো tower
এখানে আরও একটি নমুনা ইনপুট রয়েছে:
6b5b+a6b1-2d+3-4f1-2d+-2c+2-4f+1-2d+-2c2-2d+1-4g+1-2c+b+-2c+-4e2-7j+-4g+d+-2c+-4f2-7j+-5h+b+-2c+a+-3f2-7j+-7i+-4e+b+b+a+-4f2-7i+a+-7h+-4f+b+b+a+-4f2-7j+-7h+-4f+a+-7h+a+-7i+-4f2-7j+-7i+-6h+a+-7i+b+-4e3-7i+a+-7h+-4e+a+-7h+b+1-7h3-7j+1-4f+-7h+b+-4f+a3-7j+2-4f+a+-4f+b3-2d+-2d+3-4g+b3-2d+-2d+-2c
এবং ফলাফল আউটপুট:
****** +++
******+.*++
---++.+ ***
-+-+++..++**
-+--+++.+++*
--++++.+..*
+++++.+**
+++****.****** -
+++*****.**.. --
+ ***....+..--
...+.....--
--.........--
---......
--
(এটি মারিও হওয়ার কথা ছিল তবে খুব ভাল ফল দেয়নি ...)
স্পেসিফিকেশনটি এখনও স্পষ্ট না হলে আমার কাছে পাইথন ২.7 -তে একটি নন-গল্ফ প্রয়োগ রয়েছে । আপনি এটি চালাতে পারেন এবং স্পেসিফিকেশন কীভাবে কাজ করে তার অনুভূতি পেতে পরীক্ষা করতে পারেন। আপনি আমার প্রোগ্রামিং দক্ষতায় হাসতে পছন্দ করতে পারেন।
এটি কোড-গল্ফ, তাই স্বল্পতম এন্ট্রি জয়। অস্পষ্ট হলে মন্তব্যে প্রশ্ন জিজ্ঞাসা করুন।
a+a+a+a+a
একে অপরের উপরে পাঁচটি সংকেত আউটপুট আউটপুট হবে।