ترتيب السلاسل حسب الطول وترتيب معجمي

C# Hard sorting

مهمة «ترتيب السلاسل حسب الطول وترتيب معجمي»

إليك ترجمة النص إلى العربية مع الحفاظ على جميع علامات HTML وعدم تغيير أي كود:

<p>تم إعطاء سلسلة نصية تحتوي على كلمات مفصولة بمسافات. يجب ترتيب الكلمات أولاً حسب زيادة الطول، وفي حالة تساوي الطول — حسب الترتيب المعجمي (تنازليًا). إخراج الكلمات المرتبة مفصولة بمسافات. القيود: طول السلسلة لا يتجاوز 10^5 حرفًا، الكلمات تتكون من أحرف لاتينية صغيرة. يجب أن يكون الحل فعالاً، باستخدام طرق الترتيب المضمنة.</p>

تنسيق الإدخال

سطر واحد يحتوي على كلمات مكونة من أحرف لاتينية صغيرة، مفصولة بمسافة واحدة بالضبط. طول السطر لا يتجاوز 100000 حرف.

تنسيق الإخراج

سلسلة تحتوي على نفس الكلمات، مرتبة تصاعدياً حسب الطول، وفي حالة تساوي الطول — بترتيب معجمي تنازلي. الكلمات مفصولة بمسافة واحدة بالضبط.

أمثلة

مثال 1

الإدخال
cat dog apple banana
الإخراج
dog cat apple banana

مثال 2

الإدخال
a bb ccc dd
الإخراج
a dd bb ccc

مثال 3

الإدخال
5 12 34 21 43 15
الإخراج
5

مثال 4

الإدخال
{"a":1,"b":{"c":2}} {"a":2,"b":{"d":3}}
الإخراج
{"a":1,"b":{"c":2}}
main.cs