#65. Soubai的01string
Soubai的01string
题目背景
本题为交互题,如果对交互题的作答方式有疑问,请参考交互题
每次询问,你需要向标准输出输出一个整数,然后输出一个换行并清空缓冲区。
你可以使用如下语句来清空缓冲区:
-
对于 C/C++:fflush(stdout);
-
对于 C++:std::cout << std::flush;
-
对于 Java:System.out.flush();
-
对于 Python:stdout.flush();
-
对于 Pascal:flush(output);
对于其他语言,请自行查阅对应语言的帮助文档。 特别的,对于 C++ 语言,在输出换行时如果你使用 std::endl 而不是 '\n',也可以自动刷新缓冲区。建议使用std::endl以避免忘记输出换行。
然后你需要从标准输入中输入一个整数,代表评测机返回的结果。
题目描述
Soubai
造了一个长度为 且只由 和 构成的字符串 ,他不会把整个字符串给你看,因为他想和你玩一个游戏,游戏内容如下:
你每次可以向他询问一个位置 ,他会告诉你这个字符串的第 位是 还是 。
现在,他告诉你这个字符串的首位一定是 ,末位一定是 ,这样,一定保证存在至少一个 满足 ,我们称这样的 为好位置
。
你需要在 次询问内告诉他一个好位置
。(本题可能存在多个符合条件的解,你只需要返回任意一个即可)
输入和格式
首先,从标准输入接收字符串 的长度 :
然后,你最多可以向判题机提出 个问题,问题的格式如下(其中 是满足 的整数):
每次提问后,判题机会从标准输入返回 的值,格式如下:
这里, 是 或 。
当你找到一个满足题目条件的整数 时,请按以下格式输出并立即结束程序:
如果存在多个解,输出其中任意一个即可。
输入输出样例 #1
在以下的交互中, 且 .
输入 | 输出 | 描述 |
---|---|---|
7 |
给定 | |
? 1 |
询问 的值 | |
0 |
测评机返回了 . | |
? 6 |
询问 的值 | |
1 |
测评机返回了 . | |
? 5 |
询问了 的值 | |
0 |
测评机返回了 . | |
! 5 |
回答 为一个好位置 |
对于回答 , 我们有 并且 . 因此,如果程序在此处立即退出,则本例将被判定为正确求解。
提示/说明
请注意提问和回答中字符和数字之间有空格!
相关
在下列比赛中: