Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Поврежденный пароль 2

(Время: 1 сек. Память: 32 Мб Сложность: 78%)

После долгих лет поисков, Алексей наконец-то нашёл на свалке свою флешку с паролем от криптокошелька. К сожалению данные оказались повреждены, и пароль удалось восстановить не полностью.

Символы, которые не поддались восстановлению, обозначены как «?».

К счастью, Алексей помнит, что для пароля выполнялись следующие условия:

  • в пароле использовались только десятичные цифры (0 – 9).
  • нет двух одинаковых соседних цифр.
  • это число является палиндромом.
  • левая половина числа (длина числа, нацело деленная на 2) также является палиндромом.
  • пароль не может начинаться на цифру 0, является натуральным числом.

Также Алексей помнит, что писал программу для генерации пароля, которая выводила по возрастанию все числа, которые удовлетворяют вышеописанным условиям, и он выбрал K-е число. Помогите Алексею определить это K-ое число, либо вывести «-1», если он ошибся.

Входные данные

Входной файл INPUT.TXT содержит в первой строке натуральное число Q – количество наборов входных данных. В каждом наборе по 2 строки: в первой натуральное число K, во второй – строку длиной от 1 до 10 000, состоящую только из цифр (0 – 9) и вопросительных знаков («?»).

Ограничения: 1 ≤ K ≤ 1018; 1 ≤ Q ≤ 1000.

Выходные данные

В выходной файл OUTPUT.TXT на каждый тестовый набор выведите ответ в отдельной строке – K-й пароль.

Пример

INPUT.TXTOUTPUT.TXT
14
3
?1?
37
???
13
2?2
3
0???0
414
505
-1
-1

Автор задачи

Владимир Игоревич Лукьянчиков

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 ЕГЭ по информатике
 Авторские задачи
 Тренировочные олимпиады
 Фёдор Меньшиков. Олимпиадные задачи по программированию, 2006
 Сборник задач В.И. Лукьянчикова
 Булева Алгебра
 Геометрия
 Динамическое программирование
 Комбинаторика
 Разбор строк
 Разное
 Разное 2
 Рекурсия, перебор
 Системы счисления
 Сортировка и последовательности
 Теория графов
 Формула
 Целочисленная арифметика
 Целочисленная арифметика 2
 Структуры данных
 Бинарный поиск
 Занимательная математика
 Занимательная математика 2
 Занимательная математика 3
 A. Красивые буквы
 B. Маска 2
 C. Хаотичность подстроки
 D. Полный алфавит
 E. RIMDALF
 F. Маска 3
 G. Маска 4
 H. Частотная буква
 I. Редактор с заменами
 J. Различные слова
 K. Маска 1
 L. Маска 5
 M. Разбей на палиндромы
 N. Штрих-код
 O. Тормозной механизм 2
 P. Сжатие строки
 Q. Поврежденный пароль 2

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru