Codeforces Round 635 (Div. 1) |
---|
Закончено |
Это интерактивная задача.
Yui девочка, которая очень любит играть в маджонг.
У нее есть таинственный набор, который состоит из нескольких плиток (этот набор может быть пустым). Каждая плитка содержит целое число от $$$1$$$ до $$$n$$$ и не больше, чем $$$n$$$ плиток в множестве имеют одинаковое значение. Таким образом, в множество содержит не больше, чем $$$n^2$$$ плиток.
Вы хотите узнать, какие числа написаны на плитках в множестве. Для этого Yui хочет сыграть с вами в игру.
Давайте назовем множество, состоящее из трех плиток равной тройкой, если значения на плитках одинаковые. Например, $$$\{2,\,2,\,2\}$$$ это равная тройка, а $$$\{2,\,3,\,3\}$$$ нет.
Давайте назовем множество, состоящее из трех плиток последовательной тройкой, если значения на плитках последовательные целые числа. Например, $$$\{2,\,3,\,4\}$$$ это последовательная тройка, а $$$\{1,\,3,\,5\}$$$ нет.
Сначала, Yui называет вам количество подмножеств плиток, которые являются равными тройками и количество подмножеств плиток, которые являются последовательными тройками в ее множестве плиток. После этого, вы можете добавить плитку с целым числом от $$$1$$$ до $$$n$$$ в множество не более, чем $$$n$$$ раз. Каждый раз добавляя плитку, в ответ вы получите количество подмножеств плиток в текущем множестве плиток, которые являются равными тройками и количество подмножеств плиток в текущем множестве плиток, которые являются последовательными тройками.
Обратите внимание, что любые две различные плитки с одинаковым значением считаются различными. Другими словами, в множестве $$$\{1,\,1,\,2,\,2,\,3\}$$$ вы можете найти $$$4$$$ подмножества $$$\{1,\,2,\,3\}$$$.
Угадайте количество плиток в изначальном множестве с числом $$$i$$$ для всех целых чисел $$$i$$$ от $$$1$$$ до $$$n$$$.
В первой строке находится единственное целое число $$$n$$$ ($$$4 \le n \le 100$$$).
Во второй строке находится два целых числа, равные количеству подмножеств плиток, которые являются равными тройками и количеству подмножеств плиток, которые являются последовательными тройками в изначальном множестве плиток.
Когда ваша программа будет готова ответить, выведите строку в формате «! $$$a_1$$$ $$$a_2$$$ $$$\ldots$$$ $$$a_n$$$» ($$$0 \le a_i \le n$$$), где $$$a_i$$$ будет равно количеству плиток в изначальном множестве с числом $$$i$$$.
Для того, чтобы добавить плитку в множество, выведите строку в формате «+ $$$x$$$» ($$$1 \le x \le n$$$), где $$$x$$$ равно числу, которое будет на плитке, которую вы добавляете. В ответ вы должны считать два целых числа, равных количеству подмножеств плиток, которые являются равными тройками и количеству подмножеств плиток, которые являются последовательными тройками в текущем множестве плиток.
После вывода строки с запросом добавления плитки или строки с ответом не забывайте сбрасывать буфер вывода. Иначе ваше решение получит вердикт Idleness limit exceeded.
Для того, чтобы сделать это, используйте:
Вы получите вердикт Wrong answer, если вы добавите больше, чем $$$n$$$ плиток в множество.
Взломы
Для того, чтобы сделать взлом, вы должны предоставить тест в следующем формате:
В первой строке находится единственное целое число $$$n$$$ ($$$4 \le n \le 100$$$).
Во второй строке находится $$$n$$$ целых чисел $$$a_1,a_2,\ldots,a_n$$$ ($$$0 \le a_i \le n$$$) — $$$a_i$$$ равно количеству плиток с числом $$$i$$$ в множестве.
5 1 6 2 9 5 12 5 24 6 24
+ 1 + 1 + 2 + 5 ! 2 1 3 0 2
В первом тесте, изначальное множество плиток $$$\{1, 1, 2, 3, 3, 3, 5, 5\}$$$. Оно содержит одну равную тройку $$$\{3, 3, 3\}$$$ и шесть последовательных троек, которые все равны $$$\{1, 2, 3\}$$$. После добавления в множество плитки со значением $$$1$$$ множество плиток станет $$$\{1, 1, 1, 2, 3, 3, 3, 5, 5\}$$$ и будет содержать две равные тройки $$$\{1, 1, 1\}$$$, $$$\{3, 3, 3\}$$$ и девять последовательных троек, которые все равны $$$\{1, 2, 3\}$$$.
Название |
---|