QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100

#3076. Гра 2048

Statistics

Деякі комп'ютерні ігри надзвичайно захопливі, і ця задача, можливо, стосується однієї з них.

Вам дано послідовність одновимірних блоків, довжина кожного з яких є степенем двійки. Мета гри — об'єднати всі блоки в один великий блок. Блоки з'являються по одному, і для кожного треба вирішити, приєднати його безпосередньо ліворуч чи безпосередньо праворуч від попередніх блоків.

Щоразу, коли два блоки однакового розміру опиняються поруч, вони зливаються в один блок, удвічі довший за кожен із них. Доки це можливо, утворені блоки негайно зливаються із сусідніми. Наприклад, якщо поточна послідовність — $2,4,16$, то приєднання $2$ ліворуч дає $8,16$, а праворуч — $2,4,16,2$. У будь-який момент існує щонайбільше одна пара блоків, які можна злити.

Ви програли (знову!) і замислюєтеся, чи взагалі можна було виграти. Проаналізуйте послідовність, щоб це з'ясувати.

Вхідні дані

Перший рядок вхідних даних містить кількість тестів $T$. Далі йдуть описи тестів:

Кожен тест складається з двох рядків. Перший містить додатне ціле число $n\le1\,000$ — довжину послідовності. Наступний містить послідовність із $n$ довжин блоків, кожна з яких є степенем двійки. Сума всіх довжин не перевищує $2^{13}$.

Розмір вхідного файлу не перевищує 0.4 MiB.

Вихідні дані

Для кожного тесту виведіть один рядок зі словом «no», якщо виграти неможливо. Інакше виведіть слово з $n$ літер «l» та «r», яке вказує, чи треба приєднати відповідний блок ліворуч, чи праворуч. Для першого блоку вибір не має значення.

Приклади

Вхідні дані 1

3
9
2 8 4 1 1 4 4 4 4
5
2 16 4 8 2
3
2 2 2

Вихідні дані 1

rrrlllrrr
no
no

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.