قاشق و چنگال


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

دور یک میز گرد، nn بشقاب وجود دارد. امین برای تکمیل این میز، می‌خواهد کنار هر بشقاب، یک قاشق و یک چنگال قرار دهد.

توضیح تصویر

او برای اینکار، یک رشته به طول 2n2n از حروف S (قاشق) و F (چنگال) انتخاب می‌کند. (لزومی ندارد که تعداد حروف F با S برابر باشد.)

سپس از یکی از بشقاب‌ها شروع کرده و در جهت ساعتگرد، دور میز حرکت می‌کند و در مرحله iiام، اگر حرف iiام رشته، برابر S بود، یک قاشق و اگر F بود یک چنگال، کنار بشقاب مورد نظر قرار می‌دهد.

ورودی🔗

در سطر اول ورودی عدد صحیح و مثبت nn داده می‌شود. 1n1001 \le n \le 100 در سطر دوم ورودی یک رشته به طور 2n2n از حروف S و F به شما داده می‌شود.

خروجی🔗

در تنها سطر خروجی در صورتی که کنار هر بشقاب، یک قاشق و یک چنگال قرار می‌گیرد، YES و در غیر این صورت NO چاپ کنید.

توجه کنید سیستم داوری به بزرگ و کوچک بودن حروف حساس است.

مثال‌ها🔗


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

2
SFFS
Plain text

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

YES
Plain text
توضیح نمونه ۱

در تصاویر زیر، قرار گرفتن قاشق‌ها و چنگال‌ها را، با توجه به رشته داده شده، به صورت مرحله به مرحله می‌بینید.

توضیح تصویر


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

2
SFSF
Plain text

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

NO
Plain text
توضیح نمونه ۲

در تصاویر زیر، قرار گرفتن قاشق‌ها و چنگال‌ها را، با توجه به رشته داده شده، به صورت مرحله به مرحله می‌بینید.

توضیح تصویر


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

3
SSSSFF
Plain text

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

NO
Plain text
توضیح نمونه ۳

در تصاویر زیر، قرار گرفتن قاشق‌ها و چنگال‌ها را، با توجه به رشته داده شده، به صورت مرحله به مرحله می‌بینید.

توضیح تصویر توضیح تصویر


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

4
FSFFSFSS
Plain text

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

YES
Plain text
توضیح نمونه ۴

در تصاویر زیر، قرار گرفتن قاشق‌ها و چنگال‌ها را، با توجه به رشته داده شده، به صورت مرحله به مرحله می‌بینید.

توضیح تصویر توضیح تصویر

خودپرداز خراب


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

یک دستگاه خودپرداز داریم که روی آن ۱۰ دکمه برای وارد کردن هر رقم و یک دکمه برای پاک کردن سمت راست‌ترین رقم عدد وارد شده، وجود دارد.

می‌خواهیم با این دستگاه، عدد nn را وارد کنیم. اما می‌دانیم ۱۰ دکمه ارقام این دستگاه خراب است ولی دکمه پاک کردن، به درستی کار می‌کند.

توضیح تصویر

ما مشکل دستگاه را فهمیده‌ایم و می‌دانیم اگر دکمه رقم dd وارد شود، رشته sds_d (به همان ترتیب) وارد دستگاه می‌شود. همچنین مطمئن هستیم که رقم اول رشته sds_d خود dd است. ممکن است sds_d شامل رقم تکراری باشد.

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

ورودی🔗

در سطر اول ورودی عدد صحیح و مثبت nn داده می‌شود. 1n1010001 \leq n \leq 10^{1000} در ۱۰ سطر بعدی در سطر ddام رشته sds_d آمده است. 1sd10 1 \leq |s_d| \leq 10 تضمین می‌شود که رقم اول sds_d خود dd است ولی ممکن است sds_d رقم تکراری داشته باشد.

خروجی🔗

در تنها سطر خروجی، کمینه تعداد عملیات لازم برای وارد کردن عدد nn را بنویسید.

مثال‌ها🔗


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

140102
0
1
2
3
4
5
6
7
8
9
Plain text

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

6
Plain text
توضیح نمونه ۱

دستگاه خودپرداز بالا سالم است. یعنی با فشار دادن دکمه هر رقم، فقط همان رقم نوشته می‌شود؛ پس کافی است برای نوشتن عدد 140102140102 به صورت زیر عمل کنیم.

  • عملیات اول. قبل از انجام این عملیات، هیچ رقمی وارد دستگاه نشده است، پس با فشار دادن دکمه ‍‍1، عدد 11 وارد دستگاه می‌شود.
  • عملیات دوم. تا قبل از این عملیات عدد 11، وارد شده است. در این عملیات با فشار دادن دکمه 4، عدد 1414 وارد دستگاه می‌شود.
  • عملیات سوم. تا قبل از این عملیات عدد 1414، وارد شده است. در این عملیات با فشار دادن دکمه 0، عدد 140140 وارد دستگاه می‌شود.
  • عملیات چهارم. تا قبل از این عملیات عدد 140140، وارد شده است. در این عملیات با فشار دادن دکمه 1، عدد 14011401 وارد دستگاه می‌شود.
  • عملیات پنجم. تا قبل از این عملیات عدد 14011401، وارد شده است. در این عملیات با فشار دادن دکمه 0، عدد 1401014010 وارد دستگاه می‌شود.
  • عملیات ششم. تا قبل از این عملیات عدد 1401014010، وارد شده است. در این عملیات با فشار دادن دکمه 2، عدد 140102140102 وارد دستگاه می‌شود.

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

18415
0
15
2
3
415
59
6
7
84
9
Plain text

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

4
Plain text
توضیح نمونه ۲

دستگاه فوق خراب است. برای وارد کردن عدد 1841518415 با کمترین تعداد عملیات می‌توانیم به صورت زیر عمل کنیم.

  • عملیات اول. قبل از انجام این عملیات، هیچ رقمی وارد دستگاه نشده است، پس با فشار دادن دکمه ‍‍1، عدد 1515 وارد دستگاه می‌شود.
  • عملیات دوم. تا قبل از این عملیات عدد 1515، وارد شده است. در این عملیات با پاک کردن آخرین رقم، عدد وارد شده به 11 تغییر می‌کند.
  • عملیات سوم. تا قبل از این عملیات عدد 11، وارد شده است. در این عملیات با فشار دادن دکمه 8، عدد 184184 وارد دستگاه می‌شود.
  • عملیات چهارم. تا قبل از این عملیات عدد 184184، وارد شده است. در این عملیات با فشار دادن دکمه 1، عدد 1841518415 وارد دستگاه می‌شود.

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

18415
0
16
2
3
415
59
6
7
84
9
Plain text

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

5
Plain text
توضیح نمونه ۳

دستگاه فوق خراب است. برای وارد کردن عدد 1841518415 با کمترین تعداد عملیات می‌توانیم به صورت زیر عمل کنیم.

  • عملیات اول. قبل از انجام این عملیات، هیچ رقمی وارد دستگاه نشده است، پس با فشار دادن دکمه ‍‍1، عدد 1616 وارد دستگاه می‌شود.
  • عملیات دوم. تا قبل از این عملیات عدد 1616، وارد شده است. در این عملیات با پاک کردن آخرین رقم، عدد وارد شده به 11 تغییر می‌کند.
  • عملیات سوم. تا قبل از این عملیات عدد 11، وارد شده است. در این عملیات با فشار دادن دکمه 8، عدد 184184 وارد دستگاه می‌شود.
  • عملیات چهارم. تا قبل از این عملیات عدد 184184، وارد شده است. در این عملیات با پاک کردن آخرین رقم، عدد وارد شده به 1818 تغییر می‌کند.
  • عملیات پنجم. تا قبل از این عملیات عدد 184184، وارد شده است. در این عملیات با فشار دادن دکمه 4، عدد 1841518415 وارد دستگاه می‌شود.

سالن سینما


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

یک سالن سینما داریم که صندلی‌های آن به شکل یه جدول n×mn \times m است که دارای nn ردیف و mm ستون است. ردیف‌ها از بالا به پایین با اعداد 11 تا nn، و ستون‌ها از چپ به راست با اعداد 11 تا mm، شماره‌گذاری شده است. برخی از صندلی‌ها با تماشاچی پر شده و برخی خالی است.

هر بار که یک تماشاچی وارد سالن می‌شود، به دلیل شیوع کرونا، می‌خواهد روی صندلی‌ای بنشیند که نزدیک‌ترین تماشاچی هم‌ردیف آن، از چپ و راست؛ بیشترین فاصله را داشته باشد. اگر هیچ تماشا‌چی در یک ردیف نباشد، فاصله نزدیک‌ترین تماشاچی به این صندلی را بینهایت در نظر بگیرید.

اگر چند صندلی با این ویژگی وجود دارد صندلی که شماره سطر آن کمینه باشد و اگر چند صندلی با این ویژگی در یک سطر وجود دارد، صندلی که شماره ستون آن کمینه است، الویت دارد.

حال وضعیت اولیه نشستن تماشاچی‌ها به شما داده می‌شود و از شما می‌خواهیم جای نشستن kk نفر بعدی را مشخص کنید. توجه کنید این kk نفر یکی یکی وارد شده و تا نشستن نفر قبلی منتظر می‌مانند.

ورودی🔗

در سطر اول ورودی سه عدد صحیح و مثبت nn، mm و kk که با یک فاصله از هم جدا شده‌اند آمده است. که به ترتیب نشان‌دهنده‌ی تعداد ردیف‌ها و ستون‌های سالن و تعداد تماشاچی‌هایی است که می‌خواهند وارد سالن شوند.

1n,m1000 1 \leq n, m \leq 1000 1kmin{n.m,100000}1 \leq k \leq \min \{ n.m,100 \, 000 \}

تضمین می‌شود که حداقل kk صندلی خالی در سالن سینما وجود دارد.

در nn سطر بعدی در هر سطر mm کاراکتر آمده که کاراکتر jjام آمده در سطر iiام، وضعیت صندلی سطر ii و ستون jj را نشان می‌دهد. اگر این کاراکتر برابر . باشد یعنی این صندلی خالی است و اگر # باشد یعنی این صندلی پر شده است.

خروجی🔗

اگر kk تعداد تماشاچی‌هایی که می‌خواهند وارد سالن شوند، باشد. خروجی kk سطر دارد و در سطر iiام دو عدد rir_i و cic_i که با یک فاصله از هم جدا‌شده‌اند، چاپ کنید که نشان‌دهنده‌ی شماره سطر و ستون صندلی است که تماشاچی iiام روی آن می‌نشیند.

مثال‌ها🔗


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

2 2 2
..
#.
Plain text

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

1 1
1 2
Plain text
توضیح نمونه ۱

مراحل نشستن این ۲ تماشاچی به ترتیب از چپ به راست نشان داده می‌شود.

توضیح تصویر


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

3 5 11
...##
#...#
.....
Plain text

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

3 1
3 5
1 1
2 3
3 3
1 2
1 3
2 2
2 4
3 2
3 4
Plain text
توضیح نمونه ۲

توضیح تصویر توضیح تصویر

هندسی‌وار


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

یک دنباله مثل a1,a2,,ana_1, a_2, \dots, a_n \, «هندسی‌وار» می‌گوییم اگر برای هر n3n \geq 3 داشته باشیم: an12=an×an2{a_{n - 1}}^2 = a_{n} \times a_{n - 2} همه دنباله‌های به طول ۱ و ۲ «هندسی‌وار» هستند.

به یک مستطیل «جذاب‌وار» می‌گوییم اگر هر سطر آن از چپ به راست و هر ستون آن از پایین به بالا یک دنباله «هندسی‌وار» باشد.

یک جدول n×mn \times m داریم می‌خواهیم بزرگ‌ترین زیر مستطیلی از آن را پیدا کنیم که «جذاب‌وار» باشد.

ورودی🔗

در سطر اول ورودی عدد صحیح و مثبت nn و mm که با یک فاصله از هم جداشده‌اند آمده. 1n,m10001 \leq n, m \leq 1000

در nn سطر بعدی در هر سطر mm عدد صحیح و مثبت که با یک فاصله از هم جداشده آمده است. 1ai,j1091 \leq a_{i, j} \leq 10^9

خروجی🔗

در تنها سطر خروجی مساحت بزرگ‌ترین زیرمستطیل «جذاب‌وار» را چاپ کنید.

مثال‌ها🔗


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

3 3
1 1 1
4 6 9
1 1 2
Plain text

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

6
Plain text
توضیح نمونه ۱

توضیح تصویر


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

2 5
1 1 2 1 1
2 2 1 2 2
Plain text

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

4
Plain text
توضیح نمونه ۲

توضیح تصویر

جمع یا ضرب


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

روی تخته nn عدد صحیح و مثبت a1,a2,a3,,ana_1, a_2, a_3, \dots, a_n \, نوشته شده است. در هر مرحله می‌توانیم دو عدد از این دنباله را پاک کنیم و سپس ضرب یا جمع آن‌ها را روی تخته بنویسیم.

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

با توجه به اینکه این عدد ممکن است خیلی بزرگ باشد از شما می‌خواهیم باقی‌مانده آن بر 109+710^9+7 را محاسبه کنید.

ورودی🔗

در سطر اول ورودی عدد صحیح و مثبت nn آمده که نشان‌دهنده‌ی تعداد اعداد نوشته شده روی تخته است. 1n1000001 \leq n \leq 100 \, 000 در سطر دوم ورودی nn عدد صحیح و مثبت a1,a2,,ana_1, a_2, \dots, a_n \, که با یک فاصله از هم جدا شده‌اند آمده است که نشان‌دهنده‌ی اعداد نوشته شده روی تخته است.

1ai1091 \leq a_i \leq 10^9

خروجی🔗

در تنها سطر خروجی باقی‌مانده بزرگ‌ترین عددی که می‌توان به آن رسید بر 109+710^9+7 را چاپ کنید.

مثال‌ها🔗


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

3
1 2 3
Plain text

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

9
Plain text

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

4
1 1 1 1
Plain text

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

4
Plain text