#include <bits/stdc++.h>
using namespace std;
void cle()
{
fflush(stdin);
fflush(stdout);
}
void solve() {
cle();
int n, m, a, b, c, d;
scanf("%d%d", &n, &m);cle();
printf("? 1 1\n");cle();
scanf("%d", &a);cle();
printf("? 1 %d\n", m);cle();
scanf("%d", &b);cle();
printf("? %d 1\n", n);cle();
scanf("%d", &c);cle();
int x1 = (n + a - b + 1) / 2,y1 = (a + b - n + 3) / 2;
int x2 = (n + a - c + 1) / 2,y2 = (a + c - n + 3) / 2;
if(x1 >= 1 && x1 <= n && y1 >= 1 && y1 <= m)
{
printf("? %d %d\n",x1,y1);cle();
scanf("%d",&d);cle();
if(d == 0)
{
printf("! %d %d\n",x1,y1);cle();
return ;
}
}
printf("! %d %d\n",x2,y2);cle();
}
signed main() {
int t;
scanf("%d", &t);cle();
while (t--) {
solve();
}
return 0;
}
| 1 | 0 |
|---|
| 1 | 0 |
| 这个过不了,表格数字表示询问这个表格的答案 | |