求调testlib interactor
  • 板块灌水区
  • 楼主charleshe
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/10/28 17:14
  • 上次更新2023/11/2 11:02:42
查看原帖
求调testlib interactor
477258
charleshe楼主2023/10/28 17:14

RT,CF1088D 的,校内用

交互代码:

#include "testlib.h"
#include <bits/stdc++.h>
using namespace std;
int main(int argc,char **argv){
	registerInteraction(argc,argv);
	int a=inf.readInt(),b=inf.readInt();
	cout.flush();
	int tmp=62;
	bool flag=true;
	while(flag&&tmp--){
		char ch=ouf.readChar();
		int c=ouf.readInt(0,1073741823);
		int d=ouf.readInt(0,1073741823);
		if(ch=='?'){
			if((a^c)<(b^d)) cout<<-1<<endl;
			else if((a^c)>(b^d)) cout<<1<<endl;
			else cout<<0<<endl;
			cout.flush();
		}
		else if(ch=='!'){
			if(a==c&&b==d) flag=false;
			else quitf(_wa,"Wrong Answer");
		}
		else quitf(_wa,"Wrong Answer");
	}
	if(flag) quitf(_wa,"Wrong Answer");
	ouf.readEof();
	quitf(_ok,"Accepted");
}

我测试交互代码用的程序:

#include <iostream>
using namespace std;
int cmp,a,b;
int main(){
	cout<<"? 0 0"<<endl;
	cin>>cmp;
	for(int i=29;i>=0;i--){
		cout<<"? "<<(a|(1<<i))<<" "<<(b|(1<<i))<<endl;
		int tmp;
		cin>>tmp;
		if(tmp==cmp){
			cout<<"? "<<(a|(1<<i))<<" "<<b<<endl;
			cin>>tmp;
			if(tmp==-1) a|=(1<<i),b|=(1<<i);
		}//
		else{
			if(cmp==1) a|=(1<<i);
			else b|=(1<<i);
			cout<<"? "<<a<<" "<<b<<endl;
			cin>>cmp;
		}
	}
	cout<<"! "<<a<<" "<<b<<endl;
	return 0;
}

返回结果是 PE Expected integer, but "?" found。

蒟蒻不懂错哪了,求调/kk

2023/10/28 17:14
加载中...