交互题的疑问
查看原帖
交互题的疑问
366338
fjy666楼主2021/11/15 20:07

rt,

//writer:fjy
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cassert>
#include <vector>
#include <cstdio>
#include <ctime>
#include <cmath>

#define _rep(i_,a_,b_) for(int i_ = a_;i_ <= b_;++i_)
#define _for(i_,a_,b_) for(int i_ = a_;i_ < b_;++i_)
#define _bug(a) cerr << "[DEBUG] " << #a << "=" << (a) << " @ line "<<__LINE__<<endl
typedef long long ll;
using namespace std;
const int inf = 0x3f3f3f3f;
int count_tests;

void guess(int L,int R) {
	if(L == R) {
		cout << "Answer " << L << endl;
		return;
	}
	if(L + 1 == R) {
		cout << "Test " << L << " " << R << endl;
		int ans; cin >> ans;
		if(ans == -1) cout << "Answer " << R << endl; else cout << "Answer " << L << endl;
		return;
	}
	int guess_lim = (R - L + 1) / 3,cur = L;
	cout << "Test";	_rep(i,1,guess_lim * 2) cout << " " << cur++; cout << endl;
	int ans; cin >> ans;
	if(ans == 0) guess(cur,R);
	else if(ans == -1) guess(L + guess_lim,cur - 1);
	else guess(L,L + guess_lim - 1);
}

int main() {
#ifdef LOCAL
    clock_t c1 = clock();
#endif
	int T; cin >> T;
	while(T--) {
		int n; cin >> n;
		guess(1,n);
//		_rep(i,1,100000) cerr << i << endl; 
	}
//	assert(false);
#ifdef LOCAL	
    fprintf(stderr,"\nTime used = %ldms\n", clock() - c1);
#endif
    return 0;
}

this code 为啥过不了啊?!
人从 14:00 到现在,要废了/ll

2021/11/15 20:07
加载中...