#P0165. [模板]交互题(含交互库) | 检测硬币

[模板]交互题(含交互库) | 检测硬币

Background

M 国银行经理现在需要帮助国王完成一个任务。

Description

国王给了经理一袋含有假币的硬币和一个小矮妖,为了防止经理偷走硬币,经理需要通过小矮妖来判断这枚硬币是否为真。
由于小矮妖想要陷害经理,它不一定会说实话。
经理会选择一枚硬币并询问,如果这枚硬币是真的,小矮妖有50% 50 \%概率说这枚硬币是真,反之50%50 \%概率为假;如果这枚硬币为假,小矮妖有40% 40 \%概率说这枚硬币是真,反之60%60 \%概率为假。

你需要通过本题给到的交互库coin.h完成程序:
使用int getn() 返回一个不超过100100的整数,表示 nn。你应当在程序一开始调用此函数,并仅调用一次。
使用int query(int x)询问第xx枚硬币的状态。
使用void submit(int x)来提交你认为的假的硬币。你只被允许提交一次,且提交后不允许进行任何操作。

Limitation

你最多被允许进行10510^5次操作,提交答案也属于一次操作。
由于题目特殊性,本题目限制提交语言为CC/C++ 14(O2)

在这里下载coin.h 交互库
你应当在程序最开头位置书写#include "coin.h"

如果你想要在本地测试,请将coin.h丢到与你源程序同级目录下再进行编译。