একটি ফাংশন সংজ্ঞা উপস্থাপন করে একটি স্ট্রিংয়ের একটি ইনপুট দেওয়া হয়েছে, নিউলাইনগুলি এবং স্পেসগুলি সন্নিবেশ করা হয়েছে যাতে ফাংশনের আর্গুমেন্টগুলি নিউলাইন-পৃথক এবং প্রান্তিক হয়।
ইনপুট স্ট্রিং নিম্নলিখিত প্যাটার্ন অনুসরণ করবে:
প্রথমে এটি একটি উপসর্গ দিয়ে শুরু হবে যা সর্বদা কমপক্ষে একটি অক্ষর দীর্ঘ এবং এতে কোনও অক্ষর থাকে না
,()।একটি খোলা বন্ধনী (
() এরপরে আর্গুমেন্ট তালিকার শুরুটি চিহ্নিত করবে।শূন্য বা আরও বেশি আর্গুমেন্টের একটি তালিকা অনুসরণ করবে। এগুলি স্ট্রিং
", "(কমা এবং তারপরে একটি স্পেস) দ্বারা পৃথক করা হয় । যুক্তিগুলির কোনওটিতেই কোনও অক্ষর থাকবে না,()।একটি ঘনিষ্ঠ বন্ধনী (
)) আর্গুমেন্ট তালিকার শেষ চিহ্নিত করবে।সর্বশেষে, একটি পোস্টসাফিক্স পাওয়া যেতে পারে, যা শূন্য বা তার বেশি অক্ষরের দীর্ঘ এবং হতে পারে অক্ষর
,()।
ইনপুট স্ট্রিংটি কেবল মুদ্রণযোগ্য এএসসিআইআই (যার অর্থ এটি কখনই কোনও নতুন লাইন ধারণ করে না) নিয়ে গঠিত।
আউটপুট অবশ্যই হবে:
উপসর্গটি, ভার্বাটিম অনুলিপি করে এবং খোলা প্রথম বন্ধনী।
আর্গুমেন্টের তালিকা, এই সময়টি
", "কমা, নিউলাইন এবং পৃথকভাবে প্রতিটি আর্গুমেন্টের প্রথম অক্ষরকে উল্লম্বভাবে সারিবদ্ধ করার জন্য যতগুলি স্পেস দ্বারা আলাদা করা হয়নি ।নিকটবর্তী পেরেন এবং পোস্টফিক্স (এটি বিদ্যমান থাকলে) ভার্ব্যাটিম।
যেহেতু এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জিতবে।
পরীক্ষার কেসগুলি (ফর্ম্যাট: একক লাইন ইনপুট এর পরে আউটপুট ডাবল নিউলাইন অনুসরণ করে):
def foo(bar, baz, quux):
def foo(bar,
baz,
quux):
int main() {
int main() {
fn f(a: i32, b: f64, c: String) -> (String, Vec<i32>) {
fn f(a: i32,
b: f64,
c: String) -> (String, Vec<i32>) {
function g(h) {
function g(h) {
def abc(def, ghi, jkl, mno)
def abc(def,
ghi,
jkl,
mno)
x y z(x, y, z) x, y, z)
x y z(x,
y,
z) x, y, z)
a>>" "সত্যিই চতুর ...