// RandomUsername (Nikola Jovanovic) // MindCoding 2016 // Round 1 // B #include #define DBG false #define debug(x) if(DBG) printf("(ln %d) %s = %d\n", __LINE__, #x, x); #define lld long long #define ff(i,a,b) for(int i=a; i<=b; i++) #define fb(i,a,b) for(int i=a; i>=b; i--) #define par pair #define fi first #define se second #define mid (l+r)/2 #define INF 1000000000 #define MAXN 100005 using namespace std; const int N = 200; struct coord { int i, j; }; void doMat(coord a, coord b) { if(a.i > b.i) return; if(a.j > b.j) return; coord pivot{(a.i + b.i)/2, (a.j + b.j)/2}; printf("%d %d\n", pivot.i, pivot.j); int res; scanf("%d", &res); if(res == 0) exit(0); else if(res > 0) { doMat({a.i, a.j}, {pivot.i-1, pivot.j-1}); doMat({a.i, pivot.j}, {pivot.i-1, b.j}); doMat({pivot.i, a.j}, {b.i, pivot.j-1}); } else { doMat({pivot.i+1, pivot.j+1}, {b.i, b.j}); doMat({a.i, pivot.j+1}, {pivot.i, b.j}); doMat({pivot.i+1, a.j}, {b.i, pivot.j}); } fflush(stdout); } int main() { doMat({0, 0}, {199, 199}); return 0; }