#include<iostream>
using namespace std;
int main()
{
int res,times=1,left=1,right=1000000000,mid=(left+right)/2;
do
{
printf("%d\n",mid);
scanf("%d",&res);
if(res==0)
{
return 0;
}
else if(res==1)
{
right=mid-1;
}
else if(res==-1)
{
left=mid+1;
}
mid=(left+right)>>1;
times++;
}while(left<=right);
return 0;
}
一锅TLE.
#include<iostream>
using namespace std;
int main()
{
int res,times=1,left=1,right=1000000000,mid=(left+right)/2;
do
{
cout<<mid<<endl;
cin>>res;
if(res==0)
{
return 0;
}
else if(res==1)
{
right=mid-1;
}
else if(res==-1)
{
left=mid+1;
}
mid=(left+right)>>1;
times++;
}while(left<=right);
return 0;
}
好奇为什么只能用cin/cout,而不能用scanf/printf