Masala #1201

Xotira 64 MB Vaqt 1000 ms
14

To'ra

Bu interaktiv masala.

8*8 o'lchamli shaxmat doskasining \(X_0Y_0\) katagida to'ra joylashgan. Sizdan to'ra joylashgan katak manzili \(X_0Y_0\) ni topish so'raladi. Buning uchun siz \(? \space X \space Y\) ko'rinishida so'rov jo'natishingiz mumkin, hakamlar hay'ati dasturi sizga javob sifatida \(|X_0-X|+|Y_0-Y|\) qiymatini qaytaradi. To'ra joylashgan manzilni \(! \space X \space Y\) ko'rinishida chiqarasiz va dastur yakuniga yetadi.
Siz ko'pi bilan 8 ta \(? \space X \space Y\) ko'rinishidagi so'rovni jo'natishingiz mumkin. To'ra joylashgan manzilni noto'g'ri chop etsangiz, so'rovlar soni oshib ketsa yoki noto'g'ri so'rov jo'natsangiz \(\textcolor{red}{Wrong \space answer}\) natijasini olasiz.

 

Namunaviy test:

stdinstdout

 

8

 

6

 

0

? 1 1

 

? 8 8

 

? 5 5

 

! 5 5


Kiruvchi ma'lumotlar:

Chiquvchi ma'lumotlar:

Misollar
# input.txt output.txt
Izoh:

Har bir so'rovni yoki javobni jo'natgandan so'ng ma'lumot chiqarish buferini tozalashni unutmang, aks holda xatolik olasiz. Ma'lumot chiqarish buferini tozalash uchun quyidagi funksiyalardan foydalanishingiz mumkin:
   - C da: fflush(stdout);
   - C++ da: fflush(stdout) yoki cout.flush();
   - Java yoki kotlinda: System.out.flush();
   - Pythonda: stdout.flush();