交互题有点令人无语
  • 板块灌水区
  • 楼主yangfengzhao
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/7/25 17:55
  • 上次更新2024/7/25 19:14:46
查看原帖
交互题有点令人无语
1049846
yangfengzhao楼主2024/7/25 17:55

传送门

改前代码

#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{\colorbox{DarkBlue}{\color{White}{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

2024/7/25 17:55
加载中...