{"trustable":true,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\n\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027$$$$$$\u0027, right: \u0027$$$$$$\u0027, display: true},\n {left: \u0027$$$\u0027, right: \u0027$$$\u0027, display: false},\n {left: \u0027$$\u0027, right: \u0027$$\u0027, display: true},\n {left: \u0027$\u0027, right: \u0027$\u0027, display: false}\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003e\u003cspan class\u003d\"tex-font-style-bf\"\u003e简单版本和困难版本之间唯一的区别是对查询次数的约束。\u003c/span\u003e\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"tex-font-style-bf\"\u003e这是一个交互式问题。\u003c/span\u003e\u003c/p\u003e\u003cp\u003eRidbit有一个隐藏的数组 $$$a$$$ 包含 $$$n$$$ 个整数,他希望Ashish去猜测。注意 $$$n$$$ 是一个 \u003cspan class\u003d\"tex-font-style-bf\"\u003e2的幂\u003c/span\u003e。Ashish可以询问三种不同类型的查询。它们的形式是\u003c/p\u003e\u003cul\u003e \u003cli\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003eAND\u003c/span\u003e $$$i$$$ $$$j$$$: 询问元素 $$$a_i$$$ 和 $$$a_j$$$ $$$(1 \\leq i, j \\le n$$$ 的 \u003ca href\u003d\"https://en.wikipedia.org/wiki/Bitwise_operation#AND\"\u003e按位与\u003c/a\u003e, $$$i \\neq j)$$$ \u003c/li\u003e\u003cli\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003eOR\u003c/span\u003e $$$i$$$ $$$j$$$: 询问元素 $$$a_i$$$ 和 $$$a_j$$$ $$$(1 \\leq i, j \\le n$$$ 的 \u003ca href\u003d\"https://en.wikipedia.org/wiki/Bitwise_operation#OR\"\u003e按位或\u003c/a\u003e, $$$i \\neq j)$$$ \u003c/li\u003e\u003cli\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003eXOR\u003c/span\u003e $$$i$$$ $$$j$$$: 询问元素 $$$a_i$$$ 和 $$$a_j$$$ $$$(1 \\leq i, j \\le n$$$ 的 \u003ca href\u003d\"https://en.wikipedia.org/wiki/Bitwise_operation#XOR\"\u003e按位异或\u003c/a\u003e, $$$i \\neq j)$$$ \u003c/li\u003e\u003c/ul\u003e\u003cp\u003e你能帮助Ashish猜测数组的元素吗?\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"tex-font-style-bf\"\u003e在这个版本中,每个元素的值在范围 $$$[0, n-1]$$$ (包括)内,Ashish最多可以询问 $$$n+1$$$ 次。\u003c/span\u003e\u003c/p\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003cp\u003e输入的第一行包含一个整数 $$$n$$$ $$$(4 \\le n \\le 2^{16})$$$\u0026nbsp;— 数组的长度。保证 $$$n$$$ 是一个 \u003cspan class\u003d\"tex-font-style-bf\"\u003e2的幂\u003c/span\u003e。\u003c/p\u003e"}},{"title":"交互","value":{"format":"HTML","content":"\u003cp\u003e要询问一个查询,打印一行包含以下内容之一(不带引号)\u003c/p\u003e\u003cul\u003e \u003cli\u003e \"\u003cspan class\u003d\"tex-font-style-tt\"\u003eAND i j\u003c/span\u003e\" \u003c/li\u003e\u003cli\u003e \"\u003cspan class\u003d\"tex-font-style-tt\"\u003eOR i j\u003c/span\u003e\" \u003c/li\u003e\u003cli\u003e \"\u003cspan class\u003d\"tex-font-style-tt\"\u003eXOR i j\u003c/span\u003e\" \u003c/li\u003e\u003c/ul\u003e 其中 $$$i$$$ 和 $$$j$$$ $$$(1 \\leq i, j \\le n$$$, $$$i \\neq j)$$$ 表示被查询的索引。\u003cp\u003e对于每个查询,你将收到一个整数 $$$x$$$,其值取决于查询的类型。如果查询的索引无效或者超过了查询次数,你将收到 $$$x \u003d -1$$$。在这种情况下,你应立即终止程序。\u003c/p\u003e\u003cp\u003e当你猜测出数组的元素时,打印一行 \"\u003cspan class\u003d\"tex-font-style-tt\"\u003e!\u003c/span\u003e \"(不带引号),接着是 $$$n$$$ 个用空格分隔的整数 \u0026nbsp;— 数组的元素。\u003c/p\u003e\u003cp\u003e猜测数组不计入所问查询的次数。\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"tex-font-style-bf\"\u003e交互程序不会适应。\u003c/span\u003e 数组 $$$a$$$ 不会随着查询而改变。\u003c/p\u003e\u003cp\u003e在打印查询后,不要忘记输出行尾并刷新输出。否则,你将收到 \u003cspan class\u003d\"tex-font-style-tt\"\u003eIdleness limit exceeded\u003c/span\u003e。要做到这一点,使用:\u003c/p\u003e\u003cul\u003e\u003cli\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003efflush(stdout)\u003c/span\u003e 或 \u003cspan class\u003d\"tex-font-style-tt\"\u003ecout.flush()\u003c/span\u003e 在C++中;\u003c/li\u003e\u003cli\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003eSystem.out.flush()\u003c/span\u003e 在Java中;\u003c/li\u003e\u003cli\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003eflush(output)\u003c/span\u003e 在Pascal中;\u003c/li\u003e\u003cli\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003estdout.flush()\u003c/span\u003e 在Python中;\u003c/li\u003e\u003cli\u003e 查看其他语言的文档。\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e\u003cspan class\u003d\"tex-font-style-bf\"\u003e黑客\u003c/span\u003e\u003c/p\u003e\u003cp\u003e要黑掉解决方案,使用以下测试格式:\u003c/p\u003e\u003cp\u003e在第一行打印一个整数 $$$n$$$ $$$(4 \\le n \\le 2^{16})$$$\u0026nbsp;— 数组的长度。它 \u003cspan class\u003d\"tex-font-style-bf\"\u003e必须\u003c/span\u003e 是2的幂。下一行应包含 $$$n$$$ 个在范围 $$$[0, n-1]$$$\u0026nbsp;内的用空格分隔的整数 — 数组 $$$a$$$。\u003c/p\u003e"}},{"title":"例子","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e4\n\n0\n\n2\n\n3\n\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eOR 1 2\n\nOR 2 3\n\nXOR 2 4\n\n! 0 0 2 3\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}},{"title":"注意","value":{"format":"HTML","content":"\u003cp\u003e例子中的数组 $$$a$$$ 是 $$$[0, 0, 2, 3]$$$。\u003c/p\u003e"}}]}