سه‌تایی در جدول


  • محدودیت زمان: ۰.۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت

حسن یک جدول n×nn \times n دارد.در هر خانه این جدول، یا یک حرف بزرگ انگلیسی نوشته شده یا '.' است.
حسن دنبال تعداد ۳تایی ها در جدول است. یک ۳ تایی، ۳ حرف در جدول هستند که در یک خط آمده‌اند.
در یک خط بودن به معنای این است که مرکزهای این ۳ حرف در یک خط قرار بگیرند.

ورودی🔗

در خط اول، nn آمده‌است. در nn خط بعدی، nn کاراکتر آمده‌است که یا حرف بزرگ انگلیسی هستند یا . . 1n1001 \le n \le 100

خروجی🔗

در تنها خط خروجی، تعداد ۳تایی ها در جدول، را چاپ کنید.

مثال🔗

ورودی نمونه🔗

4
...D
..C.
.B..
A...
Plain text

خروجی نمونه🔗

4
Plain text

رییس اعظم


  • محدودیت زمان: ۰.۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت

حسن یک کلمه با حروف کوچک انگلیسی دارد.
او می‌خواهد کلمه را از ۲ قسمت برش داده و آن را به ۳ تکه ناتهی تقسیم کند.
سپس ترتیب حروف در هر ۳ تکه را برعکس کرده، آن ها را دوباره کنار هم می‌گذارد.
حال به او کلمه که از لحاظ الفبایی کمینه است و با این روش ساخته می‌شود، را چاپ کنید.

ورودی🔗

در خط اول، یک کلمه داده شده‌است. این کلمه،‌ از ۳ تا ۵۰ حرف کوچک انگلیسی تشکیل شده است.

خروجی🔗

در تنها خط خروجی،‌ کلمه ساخته شده که از لحاظ الفبایی کمینه است، را چاپ کنید.

مثال🔗

ورودی نمونه🔗

dcbagfekjih
Plain text

خروجی نمونه🔗

abcdefghijk
Plain text

نیم فشرده


  • محدودیت زمان: ۰.۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت

حسن یک رشته جایزه گرفته است. او پس از اندکی نگاه کردن به رشته متوجه می‌شود که رشته ای که گرفته یک رشته معمولی نیست.

او متوجه می‌شود که رشته ای که جایزه گرفته در ابتدا یک جایگشت از اعداد ۱ تا nn بوده که تمامی فاصله هایش پاک شده است.

حال او از شما می‌خواهد که جایگشت جایزه اش را برایش بازیابی کنید.

ورودی🔗

در تنها خط ورودی رشته S‌ که رشته جایزه حسن است، آمده است.

ضمانت می‌شود که رشته S یک جایگشت بدونه فاصله است. 1S1001 \leq |S| \leq 100

خروجی🔗

در تنها خط خروجی، جایگشت جایزه حسن را چاپ کنید. اگر چند پاسخ وجود داشت یکی را به دلخواه چاپ کنید.

مثال🔗

ورودی نمونه🔗

4111109876532
Plain text

خروجی نمونه🔗

4 1 11 10 9 8 7 6 5 3 2
Plain text

از دو سر دوتا


  • محدودیت زمان: ۰.۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت

حسن رشته های از دو سر یکی (palindrome) را بسیار دوست دارد. یک رشته palindrome است، اگر از هر دو طرف آن‌ را در نظر بگیریم برابر باشد.

یک عدد برای حسن غیر قابل تحمل است، اگر رشته متناظر با ارقام آن را در نظر بگیریم؛ همه ی زیر رشته های حداقل دو رقمی آن palindrome نباشند.
برای مثال عدد 18596 غیر قابل تحمل است اما عدد 18595 قابل تحمل است چون 595، palindrome است.

حسن تنها یک سوال از شما دارد. تعداد اعداد غیر قابل تحمل در بازه LL تا RR چند است.

ورودی🔗

در تنها خط ورودی دو عدد، LL و RR آمده‌است که بازه صورت مسئله را مشخص می‌کند. 0LR10180 \leq L \leq R \leq 10^{18}

خروجی🔗

در تنها خط خروجی، تعداد اعداد غیر قابل تحمل در بازه LL تا RR را چاپ کنید.

مثال🔗

ورودی نمونه🔗

123 321
Plain text

خروجی نمونه🔗

153
Plain text

جایگشت بد‌دست


  • محدودیت زمان: ۰.۵ ثانیه
  • محدودیت حافظه: ۱۲۸ مگابایت

یک روز، حسن یک جایگشت جایزه گرفت که شامل اعداد ۱ تا nn است.
او میخواهد تعداد نابه‌جایی ها در جایگشت را کمینه کند. برای این کار، میتواند جای ۲ عدد را با هم جابه‌جا کند اما نمی‌داند که کدام ۲ تا را جابه‌جا کند که تعداد نابه‌جایی ها کمینه شود.
اگر i<ji < j و pi>pjp_i > p_j، آنگاه میگوییم نابه‌جایی رخ داده است.

ورودی🔗

در خط اول، nn (تعداد اعداد جایگشت) آمده است. در خط بعدی، nn عدد آمده است که بیانگر جایگشت حسن هستند. 1n5×1051 \le n \le 5 \times 10^5

خروجی🔗

اگر نتوان ۲ عدد را جابه‌جا کرد طوری که تعداد نابه‌جایی‌ها کمینه شود، عبارت Cool Array چاپ کنید.
در غیر این‌صورت، ۲ عدد چاپ کنید که اندیس اعداد جابه‌جا شونده هستند. (اگر چندین جواب وجود داشت، از نظر الفبایی کمترین جواب را چاپ کنید)

مثال🔗

ورودی نمونه🔗

6
1 5 6 3 4 2
Plain text

خروجی نمونه🔗

2 6
Plain text

دور بی‌مزه


  • محدودیت زمان: ۰.۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت

حسن یک گراف با nn راس و n1n-1 یال دارد.
راس ها از ۱ تا nn نام‌گذاری شدند و یال iiم رئوس ii و i+1i+1 به ازای 1in11 \le i \le n-1 را به هم وصل می‌کنند.
اما حسن گرافش را خیلی دوست ندارد و می‌خواهد تعدادی یال به آن اضافه کند تا گرافش دوست‌داشتنی‌تر شود.
او mm یال به گرافش اضافه میکند. یال i+n1i+n-1م رئوس aia_i را به bib_i اضافه می‌کند.
این یال ها می‌توانند باعث ایجاد یال چندگانه یا طوقه شوند.
حال حسن می‌خواهد مجموعه از دور‌ها که یال‌مجزا هستند که از لحاظ الفبایی بیشینه است، را پیدا کند.

هر مجموعه از دورهای یال‌مجزا را به دنباله‌ای دودویی تبدیل می‌کنیم، به طوری که در دنباله دودویی بیت iiم ۱ است اگر و تنها اگر یال iiم در این مجموعه دورها آمده‌باشد و در غیر این‌ صورت ۰ است.
حال مجموعه از دورهای یال‌مجزا که از لحاظ الفبایی بیشینه است، یعنی دنباله دودویی آن از لحاظ الفبایی نسبت به سایر مجموعه ها بیشینه باشد.

ورودی🔗

در خط اول،‌ nn و mm آمده‌است.
در mm خط بعدی،‌ aia_i و bib_i آمده‌است. 2n1052 \le n \le 10^5 1m1051 \le m \le 10^5 1ai,bin1 \le a_i, \, b_i \le n

خروجی🔗

در تنها خط خروجی، n1n-1 بیت ابتدایی از دنباله دودویی مجموعه از دورهای یال‌مجزا که از لحاظ الفبایی بیشینه است، را چاپ کنید.

مثال🔗

ورودی نمونه ۱🔗

5 4
1 2
2 3
3 4
4 5
Plain text

خروجی نمونه ۱🔗

1111
Plain text

ورودی نمونه ۲🔗

6 3
1 4
3 5
3 6
Plain text

خروجی نمونه ۱🔗

11101
Plain text