کیبورد تلفنهاي همراه قدیمی بصورتی بود که تعدادي از کاراکترها بر روي یک کلید با شماره خاص درج گردیده بودند و با توجه به اینکه هر کاراکتر چندمین کاراکتر در آن کلید است براي تایپ آن کلید مورد نظر را به آن تعداد فشار می داند. به عنوان مثال براي تایپ کاراکتر U باید کلید 8 را 2 بار پشت سرهم فشار داد.
![توضیح تصویر](http://uupload.ir/files/f0xj_1.jpg)
می خواهیم برنامه بنویسیم که متن کد شده ورودي را دریافت کرده آنرا کدگشایی کند. متن ورودي بصورت زیر کد شده است:
براي هر کاراکتر دو عدد پشت سر هم نوشته میشود. اولین عدد شماره کلید آن حرف در کیبورد است و دومین عدد تعداد دفعاتی است باید آن کلید فشرده شود. فرض کنید حروف بزرگ و کوچک تفاوتی نداشته باشد و همچنین کاراکتر
فضاي خالی کلید 0 است با 1 بار فشردن و کاراکتر نقطه کلید 1 است با 2 بار فشردن.
در فایل ورودي اولین خط عدد n است که تعداد مثالها در آن آورده شده است و در ادامه n خط آورده شده است که هر خط شامل یک رشته کدگذاري شده است. در فایل خروجی n خط شامل رشته کدگشایی شده رشته ورودي است.
به عنوان مثال
ورودي:
2
42325353630131322173017481823132628112
728223422162
خروجی:
hello dear student.
quchan
فرض کنید میخواهیم تعدادي مجموع را محاسبه کنیم!
اولین خط فایل ورودي شامل تعداد مثال هایی است که در نظر گرفته شده است (P).
در ادامه در هر خط دو عدد می آید که اولین عدد شماره مثال و با یک فاصله عدد دوم n می آید. (N کوچکتر مساوی ده هزار و بزرگتر مساوی یک)
خروجی باید شامل P خط باشد که در هر خط 4 عدد قرار میگیرد. اولین عدد شماره مثال است.
در ادامه S1 , S2 , S3 آورده می شود که هر کدام بصورت زیر مشخص می شود:
S1: عدد صحیح N مجموعه اولین
S2: عدد فرد N مجموعه اولین
S3: عدد زوج N مجموعه اولین
ورودي:
3
1 1
2 10
3 1001
خروجی:
1 1 1 2
2 55 100 110
3 501501 1002001 1003002
روشهاي مختلفی براي نمایش ساعت وجود دارد. یکی از آنها که معمولا مورد استفاده قرار میگیرد استفاده از فرمت
عددي است به عنوان مثال (24:12:10)
یکی از روشهاي دیگر استفاده از شیوه باینري است که هم بصورت افقی(شکل سمت راست) و هم عمودي(شکل سمت چپ) مورد استفاده قرار میگیرد.
![توضیح تصویر](http://uupload.ir/files/eem8_2.jpg)
در این روش ساعت، دقیقه و ثانیه بصورت باینري در نظر گرفته می شود و در روش افقی ابتدا ارقام ساعت، بعد
دقیقه و در انتها ثانیه پشت سر هم بصورت صفر و یک آورده میشود.
در روش عمودي هم ابتدا با ارزشترین رقم ساعت،دقیقه و ثانیه آورده میشود و سپس رقمهاي بعدي...
اولین خط فایل ورودي شامل تعداد مثال هایی است که در نظر گرفته شده است (P)
در ادامه به تعداد مثالها در هر خط یک ساعت با فرمت معمولی داده شده است.
فایل خروجی باید به ازاي هر مثال ورودي یک خط داشته باشد که شامل 3 عدد است.
عدد اول شماره مثال، عدد دوم فرم عمودي باینري و عدد سوم فرم افقی باینري است.
ورودي:
2
10:37:49
00:00:01
خروجی:
1 011001100010100011 001010100101110001
2 000000000000000001 000000000000000001