CF1570G.XOR Guessing

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

This is an interactive problem. Remember to flush your output while communicating with the testing program. You may use fflush(stdout) in C++, system.out.flush() in Java, stdout.flush() in Python or flush(output) in Pascal to flush the output. If you use some other programming language, consult its documentation. You may also refer to the guide on interactive problems: https://codeforces.com/blog/entry/45307.

The jury picked an integer xx not less than 00 and not greater than 21412^{14} - 1 . You have to guess this integer.

To do so, you may ask no more than 22 queries. Each query should consist of 100100 integer numbers a1a_1 , a2a_2 , ..., a100a_{100} (each integer should be not less than 00 and not greater than 21412^{14} - 1 ). In response to your query, the jury will pick one integer ii ( 1i1001 \le i \le 100 ) and tell you the value of aixa_i \oplus x (the bitwise XOR of aia_i and xx ). There is an additional constraint on the queries: all 200200 integers you use in the queries should be distinct.

It is guaranteed that the value of xx is fixed beforehand in each test, but the choice of ii in every query may depend on the integers you send.

Output

To give the answer, your program should print one line !! xx with a line break in the end. After that, it should flush the output and terminate gracefully.

输入格式

输出格式

To give the answer, your program should print one line !! xx with a line break in the end. After that, it should flush the output and terminate gracefully.

Interaction

Before giving the answer, you may submit no more than 22 queries. To ask a query, print one line in the following format: ?? a1a_1 a2a_2 ... a100a_{100} , where every aja_j should be an integer from the range [0,2141][0, 2^{14} - 1] . The line should be ended with a line break character. After submitting a query, flush the output and read the answer to your query — the value of aixa_i \oplus x for some i[1,100]i \in [1, 100] . No integer can be used in queries more than once.

If you submit an incorrect query (or ask more than 22 queries), the answer to it will be one integer 1-1 . After receiving such an answer, your program should terminate immediately — otherwise you may receive verdict "Runtime error", "Time limit exceeded" or some other verdict instead of "Wrong answer".

输入输出样例

  • 输入#1

    0
    32

    输出#1

    ? 3 5 6
    ? 32 24 37
    ! 5

说明/提示

The example of interaction is not correct — you should sumbit exactly 100100 integers in each query. Everything else is correct.

Hacks are forbidden in this problem.

首页