<div> <p>قم بتنفيذ دالة <code>compress_string</code> التي تقوم بضغط سلسلة نصية باستخدام قاعدة تكرار المقاطع، ثم دالة <code>restore_string</code> التي تستعيد السلسلة النصية الأصلية من السلسلة المضغوطة.</p> <p>قاعدة الضغط: إذا ظهر مقطع معين (سلسلة فرعية) ب
JavaScript
Hard
strings
مهمة «<div> <p>قم بتنفيذ دالة <code>compress_string</code> التي تقوم بضغط سلسلة نصية باستخدام قاعدة تكرار المقاطع، ثم دالة <code>restore_string</code> التي تستعيد السلسلة النصية الأصلية من السلسلة المضغوطة.</p> <p>قاعدة الضغط: إذا ظهر مقطع معين (سلسلة فرعية) ب»
<div>
<p>يتم إعطاء سلسلة نصية تتكون من أحرف لاتينية وأرقام. تمثل السلسلة تمثيلًا مضغوطًا: يشير كل رقم إلى عدد المرات التي يجب فيها تكرار الحرف الذي يليه، وإذا كان الرقم يسبق مجموعة من الأحرف داخل أقواس دائرية، فسيتم تكرار المجموعة بأكملها. إذا لم يكن هناك رقم، يتم تكرار الحرف مرة واحدة. قم باستعادة السلسلة النصية الأصلية. يُضمن أن الأقواس متوازنة وأن مستوى التداخل لا يتجاوز 5 مستويات. طول السلسلة المضغوطة يصل إلى 1000 حرف، وطول السلسلة المستعادة لا يتجاوز 10^6.</p>
</div>
<p>يتم إعطاء سلسلة نصية تتكون من أحرف لاتينية وأرقام. تمثل السلسلة تمثيلًا مضغوطًا: يشير كل رقم إلى عدد المرات التي يجب فيها تكرار الحرف الذي يليه، وإذا كان الرقم يسبق مجموعة من الأحرف داخل أقواس دائرية، فسيتم تكرار المجموعة بأكملها. إذا لم يكن هناك رقم، يتم تكرار الحرف مرة واحدة. قم باستعادة السلسلة النصية الأصلية. يُضمن أن الأقواس متوازنة وأن مستوى التداخل لا يتجاوز 5 مستويات. طول السلسلة المضغوطة يصل إلى 1000 حرف، وطول السلسلة المستعادة لا يتجاوز 10^6.</p>
</div>
تنسيق الإدخال
سطر واحد يحتوي على التمثيل المضغوط.
تنسيق الإخراج
سطر واحد — السلسلة المستعادة.
أمثلة
مثال 1
الإدخال
10a
الإخراج
aaaaaaaaaa
main.js