Codeforces Round 922 (Div. 2) |
---|
Закончено |
Это интерактивная задача!
В новом раунде было $$$n$$$ задач, сложности от $$$1$$$ до $$$n$$$. Координатор, решив сделать первый раунд с неотсортированными по сложности задачами, переставил задачи, получив перестановку сложностей от $$$1$$$ до $$$n$$$. После этого координатор предложил ace5 угадать перестановку следующим образом.
Координатор загадывает число $$$x$$$ от $$$1$$$ до $$$n$$$.
ace5 может делать запросы типа: $$$?\ i$$$. Ответом будет:
Задача ace5 — отгадать перестановку не более чем за $$$40n$$$ запросов. Так как ace5 слишком занят написанием анонса, он поручил эту задачу Вам.
В первой строке задано одно целое число $$$t$$$ ($$$1 \leq t \leq 1000$$$) — количество тестовых случаев.
Взаимодействие Вашей программы с программой жюри в каждом тестовом случае начинается со считывания целого положительного числа $$$n$$$ ($$$1 \leq n \leq 2000$$$) — длины загаданной перестановки.
Чтобы сделать запрос, выведите строку в формате «? i», где $$$1 \leq i \leq n$$$.
В качестве ответа вы получите:
Вы можете сделать не более $$$40n$$$ запросов. Чтобы вывести ответ, необходимо напечатать «! a_1 a_2 ... a_n», где $$$1 \leq a_i \leq n$$$, все они различны. Вывод ответа не считается за запрос.
Если ваша программа сделает более $$$40n$$$ запросов для одного набора входных данных, или сделает некорректный запрос, то ответом на запрос будет -1, после получения такого ответа ваша программа должна немедленно завершится, чтобы получить вердикт Неправильный ответ. Иначе она может получить любой другой вердикт.
После вывода запроса не забудьте вывести перевод строки и сбросить буфер вывода. В противном случае вы получите вердикт Решение «зависло». Для сброса буфера используйте:
Интерактор в этой задаче не является адаптивным.
Взломы:
Чтобы сделать взлом, используйте следующий формат:
В первой строке находится одно целое число $$$t$$$ — количество тестовых случаев.
Описание каждого тестового случая должно состоять из двух строк. В первой строке находятся числа $$$n$$$ и $$$x$$$ ($$$1 \leq x \leq n \leq 2000$$$) — длина загаданной перестановки и изначальное значение числа $$$x$$$. Во второй строке находятся $$$n$$$ различных чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \leq a_i \leq n$$$) — перестановка, которую должно загадать жюри в данном тестовом случае.
Сумма $$$n$$$ по всем запросам не должна превосходить $$$2000$$$.
2 5 > = < = < < 2 >
? 4 ? 2 ? 1 ? 5 ? 1 ? 3 ! 2 4 1 5 3 ? 1 ! 2 1
В первом тесте загадана перестановка $$$a$$$ = [$$$2,4,1,5,3$$$], и значение $$$x$$$ изначально равно $$$3$$$.
Во втором тесте загадана перестановка $$$a$$$ = [$$$2,1$$$], $$$x$$$ изначально равен $$$1$$$.
Название |
---|