交互题 : 1. Guess the Number(二分)
题意:给定1------1e6的范围的一个数,要你在规定次数内猜出该数。
思路:
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int l=1,r=1e6;
while(l!=r){
int mid=(l+r+1)>>1;//这里要用(l+r+1) 因为是跟"<"和">="比较,如果l=mid ans=r=l+1 则会一直循环.
printf("%d\n",mid);
fflush(stdout);
char c[3];
scanf("%s",c);
if(strcmp(c,"<")) r=mid-1;
else l=mid;
}
printf("! %d\n",l);
fflush(stdout);
return 0;
}