1615: Наступне по величинi

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 19,00 (partial)
Time limit: 1.0s
Python 2.0s
Memory limit: 64M
Python 250M

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

Лексикографiчний порядок часто називають алфавiтним порядком при роботi з рядками. Деякий рядок бiльший, нiж iнший, якщо вiн зʼявляється пiзнiше в списку, упорядкованому лексикографiчно.

Для даного рядка ~s~ створiть новий, переставивши деякi або всi його символи. Новий рядок має вiдповiдати наступним вимогам:

  • вiн повинен бути бiльшим за даний;

  • це повинно бути найменше слово, яке вiдповiдає першiй умовi.

Наприклад, для рядка ʼabcdʼ наступне бiльше слово буде ʼabdcʼ.

Формат вхiдних даних

Перший рядок мiстить цiле число ~t~ ~(1 \le t \le 10^5)~ - кiлькiсть тестiв.

Кожен тест мiститься в окремому рядку i мiстить слово ~s~ ~(1 \le |s| \le 100)~, яке складається лише iз символiв дiапазону ʼaʼ..ʼzʼ

Формат вихiдних даних

Для кожного тесту в окремому рядку виведiть шукане слово або , у випадку його вiдсутностi, виведiть ʼno answerʼ.

Приклад вхідних даних

5
ab
bb
hefg
dhck
dkhc

Приклад вихідних даних

ba
no answer
hegf
dhkc
hcdk

Коментарі

Please read the guidelines before commenting.



  • 0
    Hydra  commented on Гру. 28, 2021, 1:05 після полудня

    O(t ** |s| * * log|s|) на C++ не заходить на 100 через TLE. Збільшіть, будь ласка, обмеження, або скажіть, що моє рішення не найефективніше:)


    • 0
      zvit  commented on Гру. 29, 2021, 10:40 до полудня

      Бачу, розв'язок зайшов... Вітаю! Час буде збільшений лише для Пайтона


      • 0
        Hydra  commented on Гру. 30, 2021, 8:18 до полудня

        Дякую