整数三分求调
查看原帖
整数三分求调
349824
WsW_花逝爆零人楼主2024/8/7 09:18

有时候和答案差1

#include<bits/stdc++.h>
using namespace std;
int T;
 
void work(){
	int l=2,r=999,ans;
	int s;
	while(l<r){
		int lmid=(2*l+r)/3,rmid=(2*r+l+2)/3;
		printf("? %d %d\n",lmid,rmid);
		fflush(stdout);
		scanf("%d",&s);
		if(s==lmid*rmid){
			l=rmid-1;
		}
		else if(s==lmid*(1+rmid)){
			l=lmid+1;
			r=rmid-1;
			ans=rmid;
		}
		else{
			r=lmid+1;
			ans=lmid;
		}
	}
	printf("! %d\n",ans);
	fflush(stdout);
}
 
int main(){
	scanf("%d",&T);
	while(T--){
		work();
	}
	return 0;
}
2024/8/7 09:18
加载中...