#include #include using namespace std; int a[200][200],b[200]; void fills(int x, int y) { int z=a[x][y]; for (int i=x; i>=0 && (i==x || a[i][y]==0); i--) for (int j=y; j>=0 && ((i==x && j==y) || a[i][j]==0); j--) a[i][j]=z; } void fillt(int x, int y) { int z=a[x][y]; for (int i=x; i<200 && (i==x || a[i][y]==0); i++) for (int j=y; j<200 && ((i==x && j==y) || a[i][j]==0); j++) a[i][j]=z; } void fnd(int x, int y) { printf("%d %d\n",x,y); fflush(stdout); scanf("%d",&a[x][y]); } bool solve(int x) { int l=0,r=199; while (l=0 && r<200 && a[x][r]==0) { fnd(x,r); if (a[x][r]==0) return true; if (a[x][r]<0) fills(x,r); else fillt(x,r); } return false; } int main() { srand(77); for (int i=0; i<200; i++) b[i]=i; random_shuffle(b,b+200); for (int i=0; i<200; i++) if (solve(b[i])) break; return 0; }