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