#include
using namespace std;
int main()
{
//二分搜索
int l=0,r=1000000;
while(l<r)
{
//因为更新左边界的时候是mid
//所以需要加一
int mid=(l+r+1)>>1;
//标准输出
printf("%d\n",mid);
//固定格式
fflush(stdout);
char s[10];
//标准输入
scanf("%s",s);
if(s[0]=='<')
r=mid-1;
else
l=mid;
}
//标准输出
printf("! %d\n",l);
//固定格式
fflush(stdout);
return 0;
}
fflush(stdout)
加在标准输出后面
该题是使用二分搜索来解答,更新左边界使用的是中点的数值,所以中点需要加一,最前面定义中点的时候,详细的参考前面的代码,是为了防止死循环,算是二分搜索的一个坑点