H - 二分+交互 Gym - 101375H
题目
题目链接
题目大意就是要用刷新输出的方式进行交互。
思路:用二分的方式保证在50次交互内找到答案。
代码
#include <cstdio>
#include<iostream>
using namespace std;
const int maxn=1e9;
int main(){
int left=1,right=maxn,mid;
for(int i=0;i<50;i++){
mid=(left+right)/2;
printf("Q %d\n",mid);
cout.flush();
char a;
scanf("%c",&a);
getchar();//吸掉回车。
if(a=='<'){
right=mid-1;//只等于mid的话会wa,估计是题目测试数据很刁钻,没法在50次内给出答案。下面同理。
}
else if(a=='>'){
left=mid+1;
}
else if(a=='=')break;
}
return 0;
}