#include #include #include #include using namespace std; int i, j, stj, sti, nr, si, sj, fi, fj, mi, mj, fn1i, fn1j, fn2i, fn2j, fni, fnj, mni, mnj, lastmi, lastmj; bool found; queue coada; int alt; int main() { si=0; sj=0; fi=199; fj=199; while(!found) { while(si<=fi && sj<=fj) { mi=(si+fi)/2; mj=(sj+fj)/2; cout<>alt; if(alt==0) { exit(0); } if(alt>0) { sti=lastmi; stj=lastmj; fni=mi-1; fnj=mj-1; while(sti<=fni) { mni=(sti+fni)/2; mnj=mj; cout<>alt; if(alt==0) { exit(0); } if(alt<0) { sti=mni+1; } if(alt>0) { fni=mni-1; } } while(stj<=fnj) { mni=mi; mnj=(stj+fnj)/2; cout<>alt; if(alt==0) { exit(0); } if(alt<0) { stj=mnj+1; } if(alt>0) { fnj=mnj-1; } } fi=mi-1; fj=mj-1; } else { sti=mi+1; stj=mj+1; fni=lastmi; fnj=lastmj; while(sti<=fni) { mni=(sti+fni)/2; mnj=mj; cout<>alt; if(alt==0) { exit(0); } if(alt<0) { sti=mni+1; } if(alt>0) { fni=mni-1; } } while(stj<=fnj) { mni=mi; mnj=(stj+fnj)/2; cout<>alt; if(alt==0) { exit(0); } if(alt<0) { stj=mnj+1; } if(alt>0) { fnj=mnj-1; } } lastmi=mi; lastmj=mj; si=mi+1; sj=mj+1; } } break; } }