QOJ.ac

QOJ

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

#3076. Jeu 2048

Statistics

Certains jeux vidéo sont extrêmement amusants, et ce problème porte peut-être sur l'un d'eux.

On vous donne une suite de blocs unidimensionnels dont chaque longueur est une puissance de deux. Le but du jeu est de fusionner tous les blocs en un seul grand bloc. Les blocs sont présentés un à un et, pour chacun, vous devez décider de le coller immédiatement à gauche ou immédiatement à droite des blocs précédents.

Chaque fois que deux blocs de même taille sont adjacents, ils fusionnent en un bloc deux fois plus long que chacun d'eux. Tant que cela est possible, les blocs obtenus fusionnent immédiatement avec les blocs adjacents. Par exemple, si la suite actuelle est $2,4,16$, coller $2$ à gauche donne $8,16$, tandis que le coller à droite donne $2,4,16,2$. À tout instant, il existe au plus une paire de blocs pouvant fusionner.

Vous avez perdu la partie (encore !) et vous vous demandez s'il existait un moyen de gagner. Analysez la suite pour le découvrir.

Entrée

La première ligne de l'entrée contient le nombre de cas de test $T$. Les descriptions des cas de test suivent :

Chaque cas de test comporte deux lignes. La première contient un entier strictement positif $n\le1\,000$, la longueur de la suite. La ligne suivante contient une suite de $n$ longueurs de blocs, chacune étant une puissance de deux. La somme de toutes les longueurs ne dépasse pas $2^{13}$.

La taille du fichier d'entrée ne dépasse pas 0.4 MiB.

Sortie

Pour chaque cas de test, affichez sur une ligne le mot « no » s'il est impossible de gagner. Sinon, affichez un mot de $n$ lettres « l » et « r », indiquant si le bloc correspondant doit être collé à gauche ou à droite. Pour le premier bloc, le choix n'a pas d'importance.

Exemples

Entrée 1

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

Sortie 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.