WA 玄关求条
查看原帖
WA 玄关求条
807826
zjpwdyf楼主2024/9/23 21:14

rt,参考的第五篇题解

#include <bits/stdc++.h>
using namespace std;
int n, m, q;

int query(int x, int y) {
	if(x == y) return 0;
	cout << "? " << x << ' ' << y << endl;
	int res; cin >> res;
	return res;
}
vector <int> ans, v[95][2];
int rl;

int main() {
	cin >> n >> m >> q;
	for(int i = 1; i <= 90; i++) {
		int bg = i * 11 - 10, ed = bg + 10;
		v[i][0].push_back(bg);
		for(int j = bg + 1; j <= ed; j++)
			v[i][query(bg, j)].push_back(j);
		if(v[i][0].size() == 11) rl = bg;
	}
	for(int i = 1; i <= 90; i++) {
		int bg = i * 11 - 10;
		int op = query(rl, bg);
		for(int x : v[i][!op]) ans.push_back(x);
	}
	for(int i = 991; i <= 1000; i++)
		if(query(rl, i)) ans.push_back(i);
	cout << "! ";
	for(int x : ans) cout << x << ' ';
	return 0;
}
2024/9/23 21:14
加载中...