Tebak Angka

Berbeda dengan tiga hal klasik lainnya, kali ini bebek Pak Dengklek bermain dengan sebuah permainan tebak-tebakan interaktif yang baru.

Pada permainan tebak-tebakan ini, mula-mula Pak Dengklek akan memikirkan sebuah bilangan bulat antara A dan B (1 ≤ A ≤ B ≤ 30) dan Pak Dengklek akan memberitahukan nilai A dan B tersebut. Kemudian, bebek boleh menebak apakah bilangan yang Pak Dengklek pikirkan adalah X atau bukan dan jika bukan apakah terlalu kecil atau terlalu besar. Demikian pula lah, Pak Dengklek akan menjawab "terlalu kecil" jika tebakan bebek masih lebih kecil dibanding bilangan yang Pak Dengklek pikirkan, "terlalu besar" jika sebaliknya, atau "selamat" jika tebakannya tepat.

Sudah dapat diduga, seharusnya ada batasan banyak pertanyaan yang bebek boleh tanyakan (karena jika tidak, maka pasti bebek berhasil menjawabnya, coba saja satu persatu). Pada permainan ini Pak Dengklek menentukan bahwa banyaknya pertanyaan tidak boleh lebih dari 10 dan ia yakin bahwa bebek yang cerdik pasti bisa menjawabnya bahkan jauh di bawah batasan tersebut.

Bebek sekali lagi merasa pusing ditantang oleh Pak Dengklek, bantulah mereka untuk memenangkan permainan ini.

INFORMASI TIPE SOAL

Tipe soal seperti ini biasa disebut "interaktif". Pada soal ini Anda akan berinteraksi dengan program penguji melalui standard input dan standard output. Perhatikan format masukan dan keluaran di bawah ini dengan seksama.

FORMAT MASUKAN DAN KELUARAN

Pada saat program Anda dimulai, bacalah dua buah bilangan bulat A dan B. Setelah itu mulailah menebak dengan mencetak sebuah bilangan bulat (seharusnya antara A dan B). Selanjutnya, bacalah sebaris kalimat yang isinya antara lain "terlalu kecil", "terlalu besar", atau "selamat". Jika kalimat yang Anda baca adalah "selamat", tidak perlu ada kelanjutan dari program Anda (dengan kata lain, program Anda harus berakhir dan tentunya program Anda mendapatkan nilai untuk kasus tersebut). Sedangkan jika kalimat yang Anda baca bukan "selamat", Anda perlu menebak lagi dan seterusnya. Jika sampai 10 kali Anda menebak belum pernah ada kata "selamat", program Anda akan dihentikan secara paksa oleh program penguji dan tentunya program Anda tidak mendapatkan nilai (atau mendapatkan nilai nol) untuk kasus tersebut.

Petunjuk "bacalah" dan "mencetak" yang dijelaskan di atas dapat Anda lakukan dengan menggunakan perintah standard seperti write, writeln, scanf, printf, dll selayaknya Anda mengerjakan soal biasa. Yang perlu diperhatikan adalah bahwa untuk tipe soal interaktif seperti ini, Anda harus selalu memberikan perintah "fflush(stdout);" (bagi pengguna C/C++) atau "flush(output);" (bagi pengguna PASCAL) setiap kali Anda mencetak keluaran (dengan kata lain, setiap kali ada perintah write/writeln/scanf/printf/dll, tepat di bawahnya harus ada perintah fflush/flush).

Berikut ini adalah contoh kode program dalam bahasa PASCAL yang akan selalu menebak bilangan 5 tanpa peduli A dan B yang diberikan:

var a,b,i:longint;
    hasil:string;
begin
  readln(a,b);
  for i:=1 to 10 do
  begin
    writeln(5);
    flush(output);
    readln(hasil);
    if (hasil='selamat') then break;
  end;
end.

Dan berikut ini dalam bahasa C/C++:

int a,b,i;
char hasil[20];
int main(){
  scanf("%d %d",&a,&b);
  gets(hasil);
  for (i=1;i<=10;i++){
    printf("5\n");
    fflush(stdout);
    gets(hasil);
    if (strcmp(hasil,"selamat")==0) break;
  }
  return 0;
}

CONTOH INTERAKSI 1

KELUARAN ANDA - KELUARAN MESIN
                1 10
1
                terlalu kecil
9
                terlalu besar
7
                selamat

CONTOH INTERAKSI 2

KELUARAN ANDA - KELUARAN PENGUJI
                1 3
1
                terlalu kecil
2
                terlalu kecil
3
                selamat

Penjelasan

Pada contoh pertama, bilangan yang Pak Dengklek pikirkan adalah 7, sedangkan pada contoh kedua adalah 3.