ক্রীড়া প্রতিযোগিতায়, প্রায়শই এমন হয় যে পডিয়ামগুলিতে বিজয়ীদের উপস্থাপিত হয়, মধ্যম স্থানে শীর্ষে প্রথম স্থান পাওয়া ব্যক্তি, মাঝের উচ্চতায় দ্বিতীয় স্থান এবং বাম দিকে তৃতীয় স্থান প্রাপ্ত ব্যক্তি ডানদিকে. আমরা এখানে কিছু বিশেষ টুইটের সাথে পুনরায় তৈরি করতে যাচ্ছি।
পডিয়ামগুলি নীচে উপস্থাপন করা হয়েছে:
@---@
| @ |
@---@| | |
| @ || | |
| | || | |@---@
| | || | || @ |
এটি এই চ্যালেঞ্জের ভিত্তি তৈরি করবে। পরবর্তী পদক্ষেপটি হ'ল পডিয়ামগুলি তাদের উপরের লোকেদের (প্রিন্টযোগ্য এএসসিআইআই স্ট্রিং) ফিট করার জন্য পর্যাপ্ত প্রশস্ত করে তোলে। তবে, আমরা নান্দনিক সৌন্দর্য নিশ্চিত করতে চাই (কারণ এটি একটি দুর্দান্ত ছবির সুযোগ), তাই প্রতিটি পডিয়ামের একই প্রস্থ হওয়া দরকার এবং প্রস্থটি অবশ্যই বিজোড় হতে হবে। অতিরিক্তভাবে, লোকেরা (স্পষ্টতই) পডিয়ামের কেন্দ্রে দাঁড়াতে চাইবে, তাই স্ট্রিংগুলি যথাসম্ভব সর্বোত্তমভাবে কেন্দ্রীভূত করতে হবে। (আপনি বাম বা ডান উভয় দিকে প্রান্তিককরণ করতে পারেন এবং এটির সাথে সামঞ্জস্য করার দরকার নেই)) উপরের পডিয়ামগুলি সর্বনিম্ন আকার এবং এটিকে 3প্রশস্ত বলে মনে করা হয় ।
উদাহরণস্বরূপ, ["Tom", "Ann", "Sue"]যথাক্রমে প্রথম-, দ্বিতীয়- এবং তৃতীয় স্থান উপস্থাপন করে ইনপুট দেওয়া হলে নিম্নলিখিত পডিয়ামগুলি আউটপুট করুন:
Tom
@---@
Ann | @ |
@---@| | |
| @ || | | Sue
| | || | |@---@
| | || | || @ |
তবে এর Anneপরিবর্তে আমাদের যদি থাকে তবে Annআমাদের পরবর্তী আকারে যেতে হবে 5এবং যথাসম্ভব স্ট্রিংগুলি কেন্দ্র করতে হবে। এখানে, আমি Anneপ্রান্তিককরণ করছি যাতে "অতিরিক্ত" চিঠিটি কেন্দ্রের বাম দিকে হয় তবে আপনি কোন দিকটি প্রান্তিক করতে চান তা চয়ন করতে পারেন।
Tom
@-----@
Anne | @ |
@-----@| | |
| @ || | | Sue
| | || | |@-----@
| | || | || @ |
চলুন আর কিছু নাম রাখি। কীভাবে ["William", "Brad", "Eugene"]:
William
@-------@
Brad | @ |
@-------@| | |
| @ || | | Eugene
| | || | |@-------@
| | || | || @ |
এখানে আমরা দেখতে পাচ্ছি যে Bradপ্রচুর পরিমাণে সাদা জায়গা আছে Eugeneতাই কম, এবং Williamঠিক ঠিক ফিট করে।
দীর্ঘ পরীক্ষার ক্ষেত্রে, কীভাবে ["A", "BC", "DEFGHIJKLMNOPQRSTUVWXYZ"]:
A
@-----------------------@
BC | @ |
@-----------------------@| | |
| @ || | | DEFGHIJKLMNOPQRSTUVWXYZ
| | || | |@-----------------------@
| | || | || @ |
শেষ অবধি, আমাদের সবচেয়ে ছোট সম্ভাব্য ইনপুট রয়েছে, এরকম কিছু ["A", "B", "C"]:
A
@---@
B | @ |
@---@| | |
| @ || | | C
| | || | |@---@
| | || | || @ |
- ইনপুট এবং আউটপুট যে কোনও সুবিধাজনক পদ্ধতি দ্বারা দেওয়া যেতে পারে ।
- ইনপুটটি গ্যারান্টিযুক্ত খালি নয় (অর্থাত্ আপনি
""নাম হিসাবে কখনও পাবেন না )। - আপনি এটি STDOUT এ মুদ্রণ করতে পারেন বা কোনও ফাংশন ফলাফল হিসাবে এটি ফিরিয়ে দিতে পারেন।
- হয় একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন গ্রহণযোগ্য।
- অক্ষরের যথাযথভাবে সীমাবদ্ধ থাকাকালীন যে কোনও পরিমাণ বহিরাগত শ্বেত স্পেস গ্রহণযোগ্য।
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
- এটি কোড-গল্ফ তাই সাধারণ গল্ফিংয়ের সমস্ত নিয়ম প্রয়োগ হয় এবং সংক্ষিপ্ততম কোড (বাইটে) জয়ী হয়।